<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NGenerics</name>
    </assembly>
    <members>
        <member name="T:NGenerics.Algorithms.GraphAlgorithms">
            <summary>
            Several algorithms for use on graphs
            </summary>
        </member>
        <member name="M:NGenerics.Algorithms.GraphAlgorithms.DijkstrasAlgorithm``1(NGenerics.DataStructures.General.Graph{``0},NGenerics.DataStructures.General.Vertex{``0})">
            <summary>
            Finds the shortest paths to all other vertices from the specified source vertex using Dijkstra's Algorithm.
            </summary>
            <typeparam name="T">The graph node type.</typeparam>
            <param name="weightedGraph">The weighted graph.</param>
            <param name="fromVertex">The source vertex.</param>
            <returns>
            A graph representing the shortest paths from the source node to all other nodes in the graph.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="weightedGraph"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="fromVertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="fromVertex"/> could not be found in <paramref name="weightedGraph"/>.</exception>
        </member>
        <member name="M:NGenerics.Algorithms.GraphAlgorithms.PrimsAlgorithm``1(NGenerics.DataStructures.General.Graph{``0},NGenerics.DataStructures.General.Vertex{``0})">
            <summary>
            Finds the minimal spanning tree of the graph supplied using Prim's algorithm.
            </summary>
            <typeparam name="T">The graph node type.</typeparam>
            <param name="weightedGraph">The weighted graph.</param>
            <param name="fromVertex">The vertex to start from.</param>
            <returns>
            A graph representing the minimal spanning tree of the graph supplied.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="weightedGraph"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="fromVertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="fromVertex"/> could not be found in <paramref name="weightedGraph"/>.</exception>
        </member>
        <member name="M:NGenerics.Algorithms.GraphAlgorithms.KruskalsAlgorithm``1(NGenerics.DataStructures.General.Graph{``0})">
            <summary>
            Finds the minimal spanning tree of the graph supplied.
            </summary>
            <typeparam name="T">The type of vertex, edge and graph.</typeparam>
            <param name="weightedGraph">The weighted graph.</param>
            <returns>
            A graph representing the minimal spanning tree of the graph supplied.
            </returns>
        </member>
        <member name="M:NGenerics.Algorithms.GraphAlgorithms.BuildGraphPrim``1(NGenerics.DataStructures.General.Graph{``0},System.Collections.Generic.ICollection{System.Collections.Generic.KeyValuePair{NGenerics.DataStructures.General.Vertex{``0},NGenerics.Algorithms.VertexInfo{``0}}})">
            <summary>
            Builds a new graph from the edges followed.
            </summary>
            <param name="weightedGraph">The weighted graph.</param>
            <param name="vertexStatus">The vertex status.</param>
            <returns>A new graph from the edges followed.</returns>
        </member>
        <member name="M:NGenerics.Algorithms.GraphAlgorithms.BuildGraphDijkstra``1(NGenerics.DataStructures.General.Graph{``0},NGenerics.DataStructures.General.Vertex{``0},System.Collections.Generic.ICollection{System.Collections.Generic.KeyValuePair{NGenerics.DataStructures.General.Vertex{``0},NGenerics.Algorithms.VertexInfo{``0}}})">
            <summary>
            Builds the graph for Dijkstra's algorithm with the edges followed.
            </summary>
            <param name="weightedGraph">The weighted graph.</param>
            <param name="fromVertex">The from vertex.</param>
            <param name="vertexStatus">The vertex status.</param>
            <returns>The graph for Dijkstra's algorithm with the edges followed.</returns>
        </member>
        <member name="T:NGenerics.Algorithms.MathAlgorithms">
            <summary>
            General math functions.
            </summary>
        </member>
        <member name="M:NGenerics.Algorithms.MathAlgorithms.GreatestCommonDivisor(System.Int32,System.Int32)">
            <summary>
            Finds the greatest common divisor.
            </summary>
            <param name="firstNumber">The first number.</param>
            <param name="secondNumber">The second number.</param>
            <returns>The greatest common divisor between the two integers supplied.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Algorithms\MathExample.cs" region="GreatestCommonDivisor" lang="cs" title="The following example shows how to use the FindGreatestCommonDivisor method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Algorithms\MathExample.vb"  region="GreatestCommonDivisor" lang="vbnet" title="The following example shows how to use the FindGreatestCommonDivisor method."/>
            </example>
        </member>
        <member name="M:NGenerics.Algorithms.MathAlgorithms.LeastCommonMultiple(System.Int32,System.Int32)">
            <summary>
            Finds the least common multiple of the two numbers.
            </summary>
            <param name="firstNumber">The first number.</param>
            <param name="secondNumber">The second number.</param>
            <returns>The least common multiple of the two numbers.</returns>
        </member>
        <member name="M:NGenerics.Algorithms.MathAlgorithms.Fibonacci(System.Int32)">
            <summary>
            Generates the Nth Fibonacci number.
            </summary>
            <param name="nthElement">The value of N.</param>
            <returns>The Nth number in the Fibonacci sequence.</returns>    
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Algorithms\MathExample.cs" region="Fibonacci" lang="cs" title="The following example shows how to use the GenerateNthFibonacci method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Algorithms\MathExample.vb"  region="Fibonacci" lang="vbnet" title="The following example shows how to use the GenerateNthFibonacci method."/>
            </example>      
        </member>
        <member name="M:NGenerics.Algorithms.MathAlgorithms.GenerateFibonacciSequence(System.Int32)">
            <summary>
            Generates the Fibonacci number series until the Nth element.
            </summary>
            <param name="nthElement">The upper bound N.</param>
            <returns>A series of Fibonacci numbers until the <paramref name="nthElement"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Algorithms\MathExample.cs" region="GenerateFibonacciSequence" lang="cs" title="The following example shows how to use the GenerateFibonacciSequence method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Algorithms\MathExample.vb"  region="GenerateFibonacciSequence" lang="vbnet" title="The following example shows how to use the GenerateFibonacciSequence method."/>
            </example>      
        </member>
        <member name="M:NGenerics.Algorithms.MathAlgorithms.Hypotenuse(System.Double,System.Double)">
            <summary>
            Calculates the Hypotenuse of a triangle.
            </summary>
            <param name="a">One of the shorter sides of the triangle.</param>
            <param name="b">One of the shorter sides of the triangle.</param>
            <returns>The Hypotenuse of a triangle.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Algorithms\MathExample.cs" region="Hypotenuse" lang="cs" title="The following example shows how to use the Hypotenuse method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Algorithms\MathExample.vb"  region="Hypotenuse" lang="vbnet" title="The following example shows how to use the Hypotenuse method."/>
            </example>      
        </member>
        <member name="T:NGenerics.Comparers.AssociationKeyComparer`2">
            <summary>
            A comparer for comparing keys using the Association class.
            </summary>
            <typeparam name="TKey">The key type.</typeparam>
            <typeparam name="TValue">The value type.</typeparam>
        </member>
        <member name="T:NGenerics.Comparers.IAssociationKeyComparer`2">
            <summary>
            A comparer for Associations of the specified type.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:NGenerics.Comparers.AssociationKeyComparer`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Comparers.AssociationKeyComparer`2"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.Comparers.AssociationKeyComparer`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Comparers.AssociationKeyComparer`2"/> class.
            </summary>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:NGenerics.Comparers.AssociationKeyComparer`2.Compare(NGenerics.DataStructures.General.Association{`0,`1},NGenerics.DataStructures.General.Association{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Comparers.AssociationKeyComparer`2.Compare(`0,`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Comparers.AssociationKeyComparer`2.DefaultComparer">
            <summary>
            Gets the default comparer for the type of association specified.
            </summary>
            <value>The default comparer.</value>
        </member>
        <member name="T:NGenerics.Comparers.ComparisonComparer`1">
            <summary>
            A Comparer using a Comparison delegate for comparisons between items.
            </summary>
            <typeparam name="T">The type of the objects to compare.</typeparam>
        </member>
        <member name="M:NGenerics.Comparers.ComparisonComparer`1.#ctor(System.Comparison{`0})">
            <param name="comparison">The comparison.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Comparers.ComparisonComparer`1.Compare(`0,`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Comparers.ComparisonComparer`1.Comparison">
            <summary>
            Gets or sets the comparison used in this comparer.
            </summary>
            <value>The comparison used in this comparer.</value>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="T:NGenerics.Comparers.EdgeWeightComparer`1">
            <summary>
            A comparer for comparing weights on graph edges.
            </summary>
            <typeparam name="T">The type of the objects to compare.</typeparam>
        </member>
        <member name="M:NGenerics.Comparers.EdgeWeightComparer`1.Compare(NGenerics.DataStructures.General.Edge{`0},NGenerics.DataStructures.General.Edge{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Comparers.KeyValuePairComparer`2">
            <summary>
            A comparer for comparing keys for the KeyValuePair class.
            </summary>
            <typeparam name="TKey">The key type.</typeparam>
            <typeparam name="TValue">The value type.</typeparam>
        </member>
        <member name="M:NGenerics.Comparers.KeyValuePairComparer`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Comparers.KeyValuePairComparer`2"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.Comparers.KeyValuePairComparer`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Comparers.KeyValuePairComparer`2"/> class.
            </summary>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:NGenerics.Comparers.KeyValuePairComparer`2.#ctor(System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Comparers.KeyValuePairComparer`2"/> class.
            </summary>
            <param name="comparison">The comparison.</param>
        </member>
        <member name="M:NGenerics.Comparers.KeyValuePairComparer`2.Compare(System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Comparers.KeyValuePairComparer`2.Compare(`0,`0)">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Comparers.ReverseComparer`1">
            <summary>
            A comparer that wraps the IComparable interface to reproduce the opposite comparison result.
            </summary>
            <typeparam name="T">The type of the objects to compare.</typeparam>
        </member>
        <member name="M:NGenerics.Comparers.ReverseComparer`1.#ctor">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Comparers.ReverseComparer`1.#ctor(System.Collections.Generic.IComparer{`0})">
            <param name="comparer">The comparer to reverse.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Comparers.ReverseComparer`1.Compare(`0,`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Comparers.ReverseComparer`1.Comparer">
            <summary>
            Gets or sets the comparer used in this instance.
            </summary>
            <value>The comparer.</value>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="T:NGenerics.DataStructures.General.Association`2">
            <summary>
            The Association performs the same function as a <see cref="T:System.Collections.Generic.KeyValuePair`2"/>, but allows the Key and
            Value members to be written to.
            </summary>
            <typeparam name="TKey">The type of the key for the association.</typeparam>
            <typeparam name="TValue">The type of the value for the association.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.Association`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Association`2"/> class.
            </summary>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\AssociationExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\AssociationExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Association`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Association`2"/> class.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\AssociationExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\AssociationExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Association`2.#ctor(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Association`2"/> class.
            </summary>
            <param name="value">The value.</param>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\AssociationExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\AssociationExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Association`2.ToKeyValuePair">
            <summary>
            Construct a <see cref="T:System.Collections.Generic.KeyValuePair`2"/> object from the current values.
            </summary>
            <returns>A key value pair representation of this <see cref="T:NGenerics.DataStructures.General.Association`2"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\AssociationExamples.cs" region="ToKeyValuePair" lang="cs" title="The following example shows how to use the ToKeyValuePair method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\AssociationExamples.vb" region="ToKeyValuePair" lang="vbnet" title="The following example shows how to use the ToKeyValuePair method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Association`2.ToString">
            <inheritdoc/>
        </member>
        <member name="P:NGenerics.DataStructures.General.Association`2.Key">
            <summary>
            Gets the key.
            </summary>
            <value>The key.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\AssociationExamples.cs" region="Key" lang="cs" title="The following example shows how to use the Key property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\AssociationExamples.vb" region="Key" lang="vbnet" title="The following example shows how to use the Key property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Association`2.Value">
            <summary>
            Gets the value.
            </summary>
            <value>The value.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\AssociationExamples.cs" region="Value" lang="cs" title="The following example shows how to use the Value property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\AssociationExamples.vb" region="Value" lang="vbnet" title="The following example shows how to use the Value property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.Bag`1">
            <summary>
            A Bag data structure.
            </summary>
            <remarks>
            A Bag (sometimes also called a multiset) is a group of object in which each 
            each member has a multiplicity, which is a natural number indicating (loosely speaking)
            how many times it is a member. For example, in the bag { a, a, b, b, b, c }, the 
            multiplicities of the members a, b, and c are respectively 2, 3, and 1.
            </remarks>
            <typeparam name="T">The type of elements in the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.General.IBag`1">
            <summary>
             An interface for a <see cref="T:NGenerics.DataStructures.General.Bag`1"/> data structure.
            </summary>
            <remarks>
            A Bag (sometimes also called a multiset) is a group of object in which each 
            each member has a multiplicity, which is a natural number indicating (loosely speaking)
            how many times it is a member. For example, in the bag { a, a, b, b, b, c }, the 
            multiplicities of the members a, b, and c are respectively 2, 3, and 1.
            </remarks>
            <typeparam name="T">The type of elements in the bag.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.IBag`1.Add(`0,System.Int32)">
            <summary>
            Adds n * the specified item to the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.
            </summary>
            <param name="item">The item.</param>
            <param name="amount">The amount.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.IBag`1.Subtract(NGenerics.DataStructures.General.IBag{`0})">
            <summary>
            Applies the Difference operation on two <see cref="T:NGenerics.DataStructures.General.Bag`1"/>s.
            </summary>
            <param name="bag">The other <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <returns>The difference between the current <see cref="T:NGenerics.DataStructures.General.Bag`1"/> and the specified <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.IBag`1.Intersection(NGenerics.DataStructures.General.IBag{`0})">
            <summary>
            Applies the Intersection operation on two <see cref="T:NGenerics.DataStructures.General.Bag`1"/>s.
            </summary>
            <param name="bag">The other bag.</param>
            <returns>The intersection of the current <see cref="T:NGenerics.DataStructures.General.Bag`1"/> and the specified <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.IBag`1.Remove(`0,System.Int32)">
            <summary>
            Removes the specified amount of items from the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.
            </summary>
            <param name="item">The item.</param>
            <param name="maximum">The maximum amount of items to remove.</param>
            <returns>An indication of whether the items were found (and removed).</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.IBag`1.Union(NGenerics.DataStructures.General.IBag{`0})">
            <summary>
            Applies the Union operation with two <see cref="T:NGenerics.DataStructures.General.Bag`1"/>s.
            </summary>
            <param name="bag">The other <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <returns>The union of the current bag and the specified <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.IBag`1.GetCountEnumerator">
            <summary>
            Gets an enumerator that returns both the items, and the
            count of the items in the bag.
            </summary>
            <returns>An enumerator to cycle through the items in the bag.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.General.IBag`1.Item(`0)">
            <summary>
            Gets the count of the specified item contained in the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.#ctor">
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.#ctor(System.Int32)">
            <param name="capacity">The initial capacity of the bag.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="ConstructorCapacity" lang="cs" title="The following example shows how to use the capacity constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="ConstructorCapacity" lang="vbnet" title="The following example shows how to use the capacity constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to use when testing equality of items in the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="ConstructorComparer" lang="cs" title="The following example shows how to use the comparer constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="ConstructorComparer" lang="vbnet" title="The following example shows how to use the comparer constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <param name="capacity">The initial capacity of the bag.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to use when testing equality of items in the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.#ctor(System.Collections.Generic.IDictionary{`0,System.Int32})">
            <param name="dictionary">The <see cref="T:System.Collections.Generic.IDictionary`2"/> to copy values from.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.RemoveAll(`0)">
            <summary>
            Removes all instances of  the specified item in the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.
            </summary>
            <param name="item">The <paramref name="item"/> to be removed.</param>
            <returns>A value indicating if <paramref name="item"/> was found (and removed) from the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="RemoveAll" lang="cs" title="The following example shows how to use the RemoveAll method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="RemoveAll" lang="vbnet" title="The following example shows how to use the RemoveAll method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Remove(`0,System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="RemoveMax" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="RemoveMax" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>        
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.RemoveItem(`0,System.Int32,System.Int32)">
            <summary>
            Removes the specified amount of items from the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.
            </summary>
            <param name="item">The item.</param>
            <param name="maximum">The maximum amount of items to remove.</param>
            <param name="itemCount">The count of the items being removed.</param>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.Bag`1.Remove(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Add(`0,System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="AddAmount" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="AddAmount" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.AddItem(`0,System.Int32)">
            <summary>
            Adds n * the specified item to the <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.
            </summary>
            <param name="item">The item.</param>
            <param name="amount">The amount.</param>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.Bag`1.Add(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.GetCountEnumerator">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Union(NGenerics.DataStructures.General.Bag{`0})">
            <summary>
            Computes the union of this <see cref="T:NGenerics.DataStructures.General.Bag`1"/> and the specified <paramref name="bag"/>.
            </summary>
            <param name="bag">The bag.</param>
            <returns>The union of this <see cref="T:NGenerics.DataStructures.General.Bag`1"/> and <paramref name="bag"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="bag"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Union" lang="cs" title="The following example shows how to use the Union method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Union" lang="vbnet" title="The following example shows how to use the Union method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Subtract(NGenerics.DataStructures.General.Bag{`0})">
            <summary>
            Computes the difference between this bag and the specified <paramref name="bag"/>.
            </summary>
            <param name="bag">The bag.</param>
            <returns>The difference between this bag and <paramref name="bag"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="bag"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Subtract" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Subtract" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Intersection(NGenerics.DataStructures.General.Bag{`0})">
            <summary>
            Computes the intersection between this <see cref="T:NGenerics.DataStructures.General.Bag`1"/> and the specified <paramref name="bag"/>.
            </summary>
            <param name="bag">The bag.</param>
            <returns>The intersection between this <see cref="T:NGenerics.DataStructures.General.Bag`1"/> and <paramref name="bag"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="bag"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Intersection" lang="cs" title="The following example shows how to use the Intersection method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Intersection" lang="vbnet" title="The following example shows how to use the Intersection method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.IntersectionInternal(NGenerics.DataStructures.General.IBag{`0})">
            <summary>
            Internal method for the Intersection operation.
            </summary>
            <param name="bag">The bag to perform the intersection on.</param>
            <returns>The result of the intersection.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.UnionInternal(NGenerics.DataStructures.General.IBag{`0})">
            <summary>
            Internal method for the Union operation.
            </summary>
            <param name="bag">The bag to perform the union with.</param>
            <returns>The result of the union operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.SubtractInternal(NGenerics.DataStructures.General.IBag{`0})">
            <summary>
            Internal method for the subtraction operation.
            </summary>
            <param name="bag">The bag to subtract from this bag.</param>
            <returns>The result of the subtract operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.op_Addition(NGenerics.DataStructures.General.Bag{`0},NGenerics.DataStructures.General.Bag{`0})">
            <summary>
            Operator + : Performs a union between two <see cref="T:NGenerics.DataStructures.General.Bag`1"/>s.
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <returns>The union between <paramref name="left"/> and <paramref name="right"/>.</returns>        
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="OperatorAdd" lang="cs" title="The following example shows how to use the + operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="OperatorAdd" lang="vbnet" title="The following example shows how to use the + operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.op_Subtraction(NGenerics.DataStructures.General.Bag{`0},NGenerics.DataStructures.General.Bag{`0})">
            <summary>
            Operator - : Performs a difference operation between two Bags.
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <returns>The union between <paramref name="left"/> and <paramref name="right"/>.</returns>         
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="OperatorSubtract" lang="cs" title="The following example shows how to use the - operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="OperatorSubtract" lang="vbnet" title="The following example shows how to use the - operator overload."/>
            </example>        
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.op_Multiply(NGenerics.DataStructures.General.Bag{`0},NGenerics.DataStructures.General.Bag{`0})">
            <summary>
            Operator * : Performs a intersection between two Bags.
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</param>
            <returns>The union between <paramref name="left"/> and <paramref name="right"/>.</returns>         
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="OperatorMultiply" lang="cs" title="The following example shows how to use the * operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="OperatorMultiply" lang="vbnet" title="The following example shows how to use the * operator overload."/>
            </example>           
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>   
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Add(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Remove(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>        
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>        
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.GetEnumerator">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>        
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>         
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.Bag`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.NGenerics#DataStructures#General#IBag{T}#Intersection(NGenerics.DataStructures.General.IBag{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.NGenerics#DataStructures#General#IBag{T}#Subtract(NGenerics.DataStructures.General.IBag{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.NGenerics#DataStructures#General#IBag{T}#Union(NGenerics.DataStructures.General.IBag{`0})">
            <inheritdoc/>
            <exception cref="T:System.InvalidCastException"><paramref name="bag"/> is not a <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Bag`1.Equals(NGenerics.DataStructures.General.Bag{`0})">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Equals" lang="cs" title="The following example shows how to use the Equals method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Equals" lang="vbnet" title="The following example shows how to use the Equals method."/>
            </example>     
        </member>
        <member name="P:NGenerics.DataStructures.General.Bag`1.Item(`0)">
            <inheritdoc /> 
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Item" lang="cs" title="The following example shows how to use the indexer method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Item" lang="vbnet" title="The following example shows how to use the indexer method."/>
            </example>           
        </member>
        <member name="P:NGenerics.DataStructures.General.Bag`1.IsEmpty">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>           
        </member>
        <member name="P:NGenerics.DataStructures.General.Bag`1.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="Count" lang="cs" title="The following example shows how to use the IsFull property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the IsFull property."/>
            </example>           
        </member>
        <member name="P:NGenerics.DataStructures.General.Bag`1.IsReadOnly">
            <inheritdoc/>
            <returns><c>false</c>.</returns>
            <remarks>Always returns <c>false</c> for <see cref="T:NGenerics.DataStructures.General.Bag`1"/>.</remarks>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\BagExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\BagExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>     
        </member>
        <member name="T:NGenerics.DataStructures.General.DictionaryBase`2">
            <summary>
            A custom hashtable extending the standard Generic Dictionary.
            </summary>
            <remarks>
            <para>
            The <see cref="T:NGenerics.DataStructures.General.DictionaryBase`2"/> class can be used by derive your 
            own dictionary type the <see cref="T:NGenerics.DataStructures.General.DictionaryBase`2"/> class.
            </para>
            <para>
            The <see cref="T:NGenerics.DataStructures.General.DictionaryBase`2"/> class provides protected 
            methods that can be used to customize its behavior when adding and removing 
            items, clearing the dictionary, or setting the value of an existing item.
            </para>
            <para>
            <see cref="T:NGenerics.DataStructures.General.DictionaryBase`2"/> accepts a null reference 
            (Nothing in Visual Basic) as a valid value for reference types.
            </para>
            <para>
            Notes to Implementers: This base class is provided to make it easier for implementers 
            to create a custom dictionaries. Implementers are encouraged to extend this base class 
            instead of creating their own. 
            </para>
            </remarks>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor(System.Collections.Generic.IDictionary{`0,`1})">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor(System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor(System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor(System.Collections.Generic.IDictionary{`0,`1},System.Collections.Generic.IEqualityComparer{`0})">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1},System.Collections.Generic.IEqualityComparer{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.GetEnumerator">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.GetEnumerator"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.AddItem(`0,`1)">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.Add(`0,`1)"/>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.DictionaryBase`2.Add(`0,`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.SetItem(`0,`1)">
            <summary>
            Sets the value associated with the specified key.
            </summary>
            <param name="key">The key to set the value for.</param>
            <param name="value">The value to assign to the entry.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.DictionaryBase`2.SetItem(`0,`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.RemoveItem(`0)">
            <summary>
            Removes the value with the specified key from the <see cref="T:NGenerics.DataStructures.General.DictionaryBase`2"/>.
            </summary>
            <param name="key">The key to remove.</param>
            <returns>
            	<c>true</c> if the element is successfully found and removed; otherwise, <c>false</c>. This method returns false if key is not found in the <see cref="T:NGenerics.DataStructures.General.DictionaryBase`2"/>.
            </returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.DictionaryBase`2.Remove(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.DictionaryBase`2.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.VerifyKey(System.Object)">
            <summary>
            Verifies the key.
            </summary>
            <param name="key">The key.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.VerifyValueType(System.Object)">
            <summary>
            Verifies the type of the value.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.ContainsKey(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="ContainsKey" lang="cs" title="The following example shows how to use the ContainsKey method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="ContainsKey" lang="vbnet" title="The following example shows how to use the ContainsKey method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.Add(`0,`1)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.Remove(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.TryGetValue(`0,`1@)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="TryGetValue" lang="cs" title="The following example shows how to use the TryGetValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="TryGetValue" lang="vbnet" title="The following example shows how to use the TryGetValue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey@TValue}}#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#Contains(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#Remove(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.DictionaryBase`2.OnDeserialization(System.Object)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.Comparer">
            <inheritdoc cref="P:System.Collections.Generic.Dictionary`2.Comparer"/>
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.Item(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Item" lang="cs" title="The following example shows how to use the Item property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Item" lang="vbnet" title="The following example shows how to use the Item property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.Keys">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Keys" lang="cs" title="The following example shows how to use the Keys property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Keys" lang="vbnet" title="The following example shows how to use the Keys property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.Values">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Values" lang="cs" title="The following example shows how to use the Values property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Values" lang="vbnet" title="The following example shows how to use the Values property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\DictionaryBaseExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\DictionaryBaseExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#Item(System.Object)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#Keys">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#IDictionary#Values">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.IsFixedSize">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#ICollection#SyncRoot">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.DictionaryBase`2.System#Collections#ICollection#IsSynchronized">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.DataStructures.General.ListBase`1">
            <summary>
            Represents a strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.#ctor">
            <inheritdoc cref="M:System.Collections.Generic.List`1.#ctor"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.#ctor(System.Collections.Generic.IEnumerable{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.#ctor(System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.#ctor(System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Add(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.InsertItem(System.Int32,`0)">
            <summary>
            Inserts an element into the <see cref="T:NGenerics.DataStructures.General.ListBase`1"/> at the specified index.
            </summary>
            <param name="index">The object to insert. The value can be null for reference types.</param>
            <param name="item">The zero-based index at which item should be inserted.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than zero.-or-<paramref name="index"/> is equal to or greater than <see cref="P:NGenerics.DataStructures.General.ListBase`1.Count"/>.</exception>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.Add(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>.
            </summary>
            <param name="collection">The collection whose elements should be added to the end of the <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>. The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type.</param>
            <exception cref="T:System.ArgumentNullException">collection is null.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.AddRangeItems(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a range of items to the list.
            </summary>
            <param name="collection">The collection of items to add.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.AddRange(System.Collections.Generic.IEnumerable{`0})"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.AsReadOnly">
            <summary>
            Returns a read-only <see cref="T:System.Collections.Generic.IList`1"></see> wrapper for the current collection.
            </summary>
            <returns>A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"></see> that acts as a read-only wrapper around the current <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.BinarySearch(`0)">
            <summary>
            Searches the entire sorted <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see> for an element using the default comparer and returns the zero-based index of the element.</summary>
            <returns>The zero-based index of item in the sorted <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of <see cref="P:NGenerics.DataStructures.General.ListBase`1.Count"></see>.</returns>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <exception cref="T:System.InvalidOperationException">The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"></see> cannot find an implementation of the <see cref="T:System.IComparable`1"></see> generic interface or the <see cref="T:System.IComparable"></see> interface for type T.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches the entire sorted <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see> for an element using the specified comparer and returns the zero-based index of the element.</summary>
            <returns>The zero-based index of item in the sorted <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of <see cref="P:NGenerics.DataStructures.General.ListBase`1.Count"></see>.</returns>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IComparer`1"></see> implementation to use when comparing elements.-or-null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"></see>.</param>
            <exception cref="T:System.InvalidOperationException">comparer is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"></see> cannot find an implementation of the <see cref="T:System.IComparable`1"></see> generic interface or the <see cref="T:System.IComparable"></see> interface for type T.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see> for an element using the specified comparer and returns the zero-based index of the element.
            </summary>
            <returns>The zero-based index of item in the sorted <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of <see cref="P:NGenerics.DataStructures.General.ListBase`1.Count"></see>.</returns>
            <param name="count">The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="comparer">The <see cref="T:System.Collections.Generic.IComparer`1"></see> implementation to use when comparing elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"></see>.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0.-or-count is less than 0. </exception>
            <exception cref="T:System.InvalidOperationException">comparer is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"></see> cannot find an implementation of the <see cref="T:System.IComparable`1"></see> generic interface or the <see cref="T:System.IComparable"></see> interface for type T.</exception>
            <exception cref="T:System.ArgumentException">index and count do not denote a valid range in the <see cref="T:NGenerics.DataStructures.General.ListBase`1"></see>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Clear">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Contains(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.ConvertAll``1(System.Converter{`0,``0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.ConvertAll``1(System.Converter{`0,``0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.CopyTo(`0[])">
            <inheritdoc cref="M:System.Collections.Generic.List`1.CopyTo(`0[])"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
            <summary>
            Copies all items in the list to the specified array.
            </summary>
            <param name="index">The index to start from in the list.</param>
            <param name="array">The array to copy from.</param>
            <param name="arrayIndex">Index of the array.</param>
            <param name="count">The number of items to copy.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.ForEach(System.Action{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.ForEach(System.Action{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.GetRange(System.Int32,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.GetRange(System.Int32,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.IndexOf(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.IndexOf(`0,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.IndexOf(`0,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.IndexOf(`0,System.Int32,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.IndexOf(`0,System.Int32,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Insert(System.Int32,`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.InsertRangeItems(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Inserts items in the specified range, from the specified index.
            </summary>
            <param name="index">The index to start copying to.</param>
            <param name="collection">The collection to copy from.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.LastIndexOf(`0)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.LastIndexOf(`0)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.LastIndexOf(`0,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.LastIndexOf(`0,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.LastIndexOf(`0,System.Int32,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.LastIndexOf(`0,System.Int32,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Remove(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.RemoveItem(System.Int32,`0)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than zero.-or-<paramref name="index"/> is equal to or greater than <see cref="P:NGenerics.DataStructures.General.ListBase`1.Count"/>.</exception>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.Remove(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.RemoveAll(System.Predicate{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.RemoveAll(System.Predicate{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.RemoveAt(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.RemoveRange(System.Int32,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.RemoveRange(System.Int32,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.RemoveRangeItems(System.Int32,System.Int32)">
            <summary>
            Removes the items in the specified range.
            </summary>
            <param name="index">The index to start from.</param>
            <param name="count">The number of items to remove.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.RemoveRange(System.Int32,System.Int32)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Reverse">
            <inheritdoc cref="M:System.Collections.Generic.List`1.Reverse"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Reverse(System.Int32,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.Reverse(System.Int32,System.Int32)"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.SetItem(System.Int32,`0)">
            <summary>
            Replaces the element at the specified index.
            </summary>
            <param name="index">The new value for the element at the specified index. The value can be null for reference types.</param>
            <param name="item">The zero-based index of the element to replace.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0.-or-count is less than 0. </exception>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.ListBase`1.SetItem(System.Int32,`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Sort">
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Sort(System.Collections.Generic.IComparer{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort(System.Collections.Generic.IComparer{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Sort(System.Comparison{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort(System.Comparison{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#IList#Add(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#IList#Contains(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#IList#IndexOf(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#IList#Insert(System.Int32,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.System#Collections#IList#Remove(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.ToArray">
            <inheritdoc cref="M:System.Collections.Generic.List`1.ToArray"/>
        </member>
        <member name="M:NGenerics.DataStructures.General.ListBase`1.TrimExcess">
            <inheritdoc cref="M:System.Collections.Generic.List`1.TrimExcess"/>
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.Capacity">
            <inheritdoc cref="P:System.Collections.Generic.List`1.Capacity"/>
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.Count">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.Item(System.Int32)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.IsSynchronized">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.SyncRoot">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.IsFixedSize">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.ListBase`1.System#Collections#IList#Item(System.Int32)">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.CholeskyDecomposition">
            <summary>
              Cholesky Decomposition of a rectangular Matrix.
            </summary>
            <remarks>
            Adapted from the JAMA package : http://math.nist.gov/javanumerics/jama/
            and from Numerical recipes
            </remarks>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.IDecomposition">
            <summary>
            Decomposition is the implementation of all  matrix decomposition methods
            (a matrix decomposition is a factorization of a matrix into some canonical form) 
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IDecomposition.Solve(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Solves the specified equation.
            </summary>
            <param name="right">The right hand side of the equation.</param>
            <returns>The answer.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IDecomposition.Decompose(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Decomposes the specified matrix 
            </summary>
            <param name="matrix">The matrix to decompose.</param>
            <returns>Decomposed matrix</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.IDecomposition.LeftFactorMatrix">
            <summary>
            Gets left factor of decomposition of original matrix.
            </summary>
            <returns>The left Factor</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.IDecomposition.RightFactorMatrix">
            <summary>
            Gets right factor of decomposition of original matrix.
            </summary>
            <returns>The right  factor</returns>
        </member>
        <member name="F:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.dimension">
            <summary>
             Row and column dimension (square matrix).
             @serial matrix dimension.
            </summary> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.#ctor(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
             Cholesky algorithm for symmetric and positive definite matrix.    
            </summary>
            <param name="matrix">Square, symmetric matrix. </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="matrix"/> is a not Symmetric.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="matrix"/> is a null Square.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.Decompose(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Given a positive-definite symmetric matrix <c>A[0..n][0..n]</c>, 
            this routine constructs its Cholesky decomposition,  <c> A = L*(L^T) </c>. 
            </summary>
            <remarks>
            The operations count is <c>(N^3)/6</c> executions of the inner loop (consisting of 
            one multiply and one subtract), with also N square roots. 
            This is about a factor 2 better than LU decomposition of <c>A</c> 
            (where its symmetry would be ignored).
            </remarks>
            <param name="matrix">Square Symmetric Definite-defined matrix A. 
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="matrix"/> is a not Symmetric.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="matrix"/> is a null Square.</exception>
            <returns> The Cholesky factor L is returned</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.QuickDecompose(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Given a positive-definite symmetric matrix <c>A[0..n][0..n]</c>, 
            this routine constructs its Cholesky decomposition,  <c> A = L*(L^T) </c>. 
            </summary>
            <remarks>
            The operations count is <c>(N^3)/6</c> executions of the inner loop (consisting of 
            one multiply and one subtract), with also N square roots. 
            This is about a factor 2 better than LU decomposition of <c>A</c> 
            (where its symmetry would be ignored).
            </remarks>
            <param name="a">Square Symmetric Definite-defined matrix A. 
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="a"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="a"/> is a not Symmetric.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="a"/> is a null Square.</exception>
            <returns> The Cholesky factor L is returned</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.QuickSolveLinearEquation(NGenerics.DataStructures.Mathematical.Matrix,System.Double[])">
            <summary>
            Solves the set of <c>n</c> linear equations <c> A * x = b </c>.
            </summary>
            <param name="a">where a is a positive-definite symmetric matrix <c>[0..n][0..n]</c>  </param>
            <param name="b"> is input as the right-hand side vector <c>[0..n]</c>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="a"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="a"/> is a not Symmetric.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="a"/> is a null Square.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="b"/> and <paramref name="a"/> have different dimensions.</exception>
            <returns>The solution vector is returned as <c>[0..n]</c>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.Solve(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
                  /** Solve A*X = B
            </summary>
            <param name="right">A Matrix with as many rows as A and any number of columns.</param>
            <returns>X so that L*L'*X = B</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="right"/> is not square.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.LeftFactorMatrix">
            <summary>
             Gets the lower triangular factor U^T, with A=U^T x U.
            </summary>
            <returns> L</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.CholeskyDecomposition.RightFactorMatrix">
            <summary>
            Gets the upper triangular factor U, with A=U^T x U.
            </summary>
            <returns> L</returns>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.ComplexNumber">
            <summary>
            A Complex Number data structure.  
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.#ctor(System.Double,System.Double)">
            <param name="real">The real part of the number.</param>
            <param name="imaginary">The imaginary part of the number.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Equals(NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            <c>true</c> if the current object is equal to the other parameter; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Equals" lang="cs" title="The following example shows how to use the Equals method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Equals" lang="vbnet" title="The following example shows how to use the Equals method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Multiply(NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Times the number according *.
            </summary>
            <param name="complex">The matrix to multiply this matrix with.</param>
            <returns>The result of the times operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="MultiplyComplexNumber" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="MultiplyComplexNumber" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Multiply(System.Double)">
            <summary>
            Times the numbers according to the operator *.
            </summary>
            <param name="number">The number to multiply this number with.</param>
            <returns>The result of the times operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="MultiplyDouble" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="MultiplyDouble" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Divide(NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Divides the numbers according to the operator /.
            </summary>
            <param name="number">The number to divide this number with.</param>
            <returns>The result of the divide operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="DivideComplexNumber" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="DivideComplexNumber" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Divide(System.Double)">
            <summary>
            Divides the numbers according to the operator /.
            </summary>
            <param name="number">The number to divide this number with.</param>
            <returns>The result of the divide operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="DivideDouble" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="DivideDouble" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Add(NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Adds two numbers according operator +.
            </summary>
            <param name="number">The number to add to this number.</param>
            <returns>The result of the addition operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Subtract(NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Subtracts the number according -.
            </summary>
            <param name="complex">The matrix to subtract from this matrix.</param>
            <returns>The result of the subtraction.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Subtract" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Subtract" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.ToMatrix">
            <summary>
            Converts the current complex number to it's matrix representation.
            </summary>
            <returns>The <see cref="T:NGenerics.DataStructures.Mathematical.IMathematicalMatrix"/> representation of the <see cref="T:NGenerics.DataStructures.Mathematical.ComplexNumber"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="ToMatrix" lang="cs" title="The following example shows how to use the ToMatrix method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="ToMatrix" lang="vbnet" title="The following example shows how to use the ToMatrix method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Addition(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand number.</param>
            <param name="right">The right hand number.</param>
            <returns>The result of the addition.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorPlus" lang="cs" title="The following example shows how to use the plus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorPlus" lang="vbnet" title="The following example shows how to use the plus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Subtraction(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand number.</param>
            <param name="right">The right hand number.</param>
            <returns>The result of the subtraction.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorMinus" lang="cs" title="The following example shows how to use the minus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorMinus" lang="vbnet" title="The following example shows how to use the minus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Multiply(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand number.</param>
            <param name="right">The right hand number.</param>
            <returns>The result of the multiplication.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorMultiplyComplexNumberComplexNumber" lang="cs" title="The following example shows how to use the multiply operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorMultiplyComplexNumberComplexNumber" lang="vbnet" title="The following example shows how to use the multiply operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Division(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Overload of the operator / 
            </summary>
            <param name="left">The left hand number.</param>
            <param name="right">The right hand number.</param>
            <returns>The result of the division.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorDivideComplexNumberComplexNumber" lang="cs" title="The following example shows how to use the divide operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorDivideComplexNumberComplexNumber" lang="vbnet" title="The following example shows how to use the divide operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Division(NGenerics.DataStructures.Mathematical.ComplexNumber,System.Double)">
            <summary>
            Overload of the operator /
            </summary>
            <param name="complexNumber">The left hand number.</param>
            <param name="number">The right hand number.</param>
            <returns>The result of the division.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorDivideComplexNumberDouble" lang="cs" title="The following example shows how to use the divide operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorDivideComplexNumberDouble" lang="vbnet" title="The following example shows how to use the divide operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Multiply(NGenerics.DataStructures.Mathematical.ComplexNumber,System.Double)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="complexNumber">The number to be multiplied with.</param>
            <param name="number">The number.</param>
            <returns>The result of the multiplication.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorMultiplyComplexNumberDouble" lang="cs" title="The following example shows how to use the multiply operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorMultiplyComplexNumberDouble" lang="vbnet" title="The following example shows how to use the multiply operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Multiply(System.Double,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="complexNumber">The number to be multiplied with.</param>
            <param name="number">The number.</param>
            <returns>The result of the multiplication.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorMultiplyDoubleComplexNumber" lang="cs" title="The following example shows how to use the multiply operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorMultiplyDoubleComplexNumber" lang="vbnet" title="The following example shows how to use the multiply operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Equality(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Equals operator.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><c>true</c> is <paramref name="left"/> is equal to <paramref name="right"/>; otherwise <c>false</c>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorEquals" lang="cs" title="The following example shows how to use the equals operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorEquals" lang="vbnet" title="The following example shows how to use the equals operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Inequality(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Not Equals operator.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><c>true</c> is <paramref name="left"/> is not equal to <paramref name="right"/>; otherwise <c>false</c>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="OperatorNotEquals" lang="cs" title="The following example shows how to use the not equals operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="OperatorNotEquals" lang="vbnet" title="The following example shows how to use the not equals operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Explicit(NGenerics.DataStructures.Mathematical.ComplexNumber)~System.String">
            <summary>
            Performs an explicit conversion from <see cref="T:NGenerics.DataStructures.Mathematical.ComplexNumber"/> to <see cref="T:System.String"/>.
            </summary>
            <param name="complexNumber">The complex number.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.op_Implicit(System.Double)~NGenerics.DataStructures.Mathematical.ComplexNumber">
            <summary>
            Performs an implicit conversion from a <see cref="T:System.Double"/> to <see cref="T:NGenerics.DataStructures.Mathematical.ComplexNumber"/>.
            </summary>
            <param name="real">The double number that will form the real part of the complex number.</param>
            <returns>The result of the conversion.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.System#IEquatable{NGenerics#DataStructures#Mathematical#ComplexNumber}#Equals(NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            <c>true</c> if the current object is equal to the other parameter; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Clone">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.ToString">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="ToString" lang="cs" title="The following example shows how to use the ToString method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="ToString" lang="vbnet" title="The following example shows how to use the ToString method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.Equals(System.Object)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="EqualsObject" lang="cs" title="The following example shows how to use the object.Equals overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="EqualsObject" lang="vbnet" title="The following example shows how to use the object.Equals overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.MultiplyInternal(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Internal multiplication function for multiplication between complex numbers.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.MultiplyInternal(NGenerics.DataStructures.Mathematical.ComplexNumber,System.Double)">
            <summary>
            Internal multiplication function for multiplication between a complex number and a number.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right side.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.DivideInternal(NGenerics.DataStructures.Mathematical.ComplexNumber,System.Double)">
            <summary>
            Internal division function for dividing a complex number with a number.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right side.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.DivideInternal(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Internal division function for division between complex numbers.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.AddInternal(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Internal addition function for the addition of complex numbers.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.ComplexNumber.SubtractInternal(NGenerics.DataStructures.Mathematical.ComplexNumber,NGenerics.DataStructures.Mathematical.ComplexNumber)">
            <summary>
            Internal subtraction function for the subtraction of complex numbers.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Conjugate">
            <summary>
            Returns the complex conjugate.
            </summary>
            <returns>The same number with imaginary part negated.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Conjugate" lang="cs" title="The following example shows how to use the Conjugate property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Conjugate" lang="vbnet" title="The following example shows how to use the Conjugate property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Modulus">
            <summary>
            Absolute value of a complex number
            </summary>
            <value>The modulus.</value>
            <returns>The result of the Abs operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Modulus" lang="cs" title="The following example shows how to use the Modulus property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Modulus" lang="vbnet" title="The following example shows how to use the Modulus property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Real">
            <summary>
            Gets or sets the real part of the complex number.
            </summary>
            <value>The real part.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Real" lang="cs" title="The following example shows how to use the Real property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Real" lang="vbnet" title="The following example shows how to use the Real property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Imaginary">
            <summary>
            Gets or sets the imaginary part of the complex number.
            </summary>
            <value>The imaginary part.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Imaginary" lang="cs" title="The following example shows how to use the Imaginary property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Imaginary" lang="vbnet" title="The following example shows how to use the Imaginary property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.AdditiveInverse">
            <summary>
            Computes the additive inverse of the current complex number.
            </summary>
            <returns>The additive inverse of the current complex number.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="AdditiveInverse" lang="cs" title="The following example shows how to use the AdditiveInverse property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="AdditiveInverse" lang="vbnet" title="The following example shows how to use the AdditiveInverse property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.AbsoluteValue">
            <summary>
            Computes the absolute value of the current complex number.
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="AbsoluteValue" lang="cs" title="The following example shows how to use the AbsoluteValue property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="AbsoluteValue" lang="vbnet" title="The following example shows how to use the AbsoluteValue property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Reciprocal">
            <summary>
            Gets the reciprocal.
            </summary>
            <value>The reciprocal.</value>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Real"/> and <see cref="P:NGenerics.DataStructures.Mathematical.ComplexNumber.Imaginary"/> are 0.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="Reciprocal" lang="cs" title="The following example shows how to use the Reciprocal property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="Reciprocal" lang="vbnet" title="The following example shows how to use the Reciprocal property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.AdditiveIdentity">
            <summary>
            Gets the additive identity.
            </summary>
            <value>The additive identity.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="AdditiveIdentity" lang="cs" title="The following example shows how to use the AdditiveIdentity property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="AdditiveIdentity" lang="vbnet" title="The following example shows how to use the AdditiveIdentity property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.ComplexNumber.MultiplicativeIdentity">
            <summary>
            Gets the multiplicative identity.
            </summary>
            <value>The multiplicative identity.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\ComplexNumberExamples.cs" region="MultiplicativeIdentity" lang="cs" title="The following example shows how to use the MultiplicativeIdentity property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\ComplexNumberExamples.vb" region="MultiplicativeIdentity" lang="vbnet" title="The following example shows how to use the MultiplicativeIdentity property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.IMathematicalMatrix">
            <summary>
            An interface for a Mathematical matrix as in Linear Algebra.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.General.IMatrix`1">
            <summary>
            An interface for a general matrix-type data structure.
            </summary>
            <typeparam name="T">The type of elements in the matrix.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.GetSubMatrix(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Gets the specified sub matrix of the current <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>
            </summary>
            <param name="rowStart">The start row.</param>
            <param name="columnStart">The start column.</param>
            <param name="rowCount">The number of rows.</param>
            <param name="columnCount">The number of columns.</param>
            <returns>A sub-<see cref="T:NGenerics.DataStructures.General.IMatrix`1"/> of the current <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.InterchangeRows(System.Int32,System.Int32)">
            <summary>
            Interchanges (swap) one row with another.
            </summary>
            <param name="firstRow">The index of the first row.</param>
            <param name="secondRow">The index of the second row.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="firstRow"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="firstRow"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="secondRow"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="secondRow"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.InterchangeColumns(System.Int32,System.Int32)">
            <summary>
            Interchanges (swap) one column with another.
            </summary>
            <param name="firstColumn">The index of the first column.</param>
            <param name="secondColumn">The index of the second column.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="firstColumn"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="secondColumn"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="firstColumn"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Columns"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="secondColumn"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Columns"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.GetRow(System.Int32)">
            <summary>
            Gets the row at the specified index.
            </summary>
            <param name="rowIndex">Index of the row.</param>
            <returns>An array containing the values of the requested row.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="rowIndex"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="rowIndex"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.GetColumn(System.Int32)">
            <summary>
            Gets the column at the specified index.
            </summary>
            <param name="columnIndex">Index of the column.</param>
            <returns>An array containing the values of the requested column.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="columnIndex"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="columnIndex"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Columns"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.AddRows(System.Int32)">
            <summary>
            Adds the specified number of rows to the matrix.
            </summary>
            <param name="rowCount">The number of rows to add.</param>     
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="rowCount"/> is less than or equal to 0.</exception>   
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.AddRow">
            <summary>
            Adds a single row to the <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.AddRow(`0[])">
            <summary>
            Adds a single row to the <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>, and populates the values
            accordingly.
            </summary>
            <param name="values">The values to populate the row with.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="values"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The length of <paramref name="values"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Columns"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.AddColumns(System.Int32)">
            <summary>
            Adds the specified number of columns to the <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>.
            </summary>
            <param name="columnCount">The number of columns to add.</param>       
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="columnCount"/> is less than or equal to 0.</exception> 
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.AddColumn">
            <summary>
            Adds a single column to the <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.AddColumn(`0[])">
            <summary>
            Adds a single column to the <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>, and populates the values
            accordingly.
            </summary>
            <param name="values">The values to populate the column with.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="values"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The length of <paramref name="values"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.DeleteRow(System.Int32)">
            <summary>
            Deletes the row from the Matrix.
            </summary>
            <param name="row">The index of the row to delete.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.DeleteColumn(System.Int32)">
            <summary>
            Deletes the column from the Matrix.
            </summary>
            <param name="column">The index of the column to delete.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.IMatrix`1.Resize(System.Int32,System.Int32)">
            <summary>
            Resizes the <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/> to the specified size.
            </summary>
            <param name="newNumberOfRows">The new number of rows.</param>
            <param name="newNumberOfColumns">The new number of columns.</param>
            <exception cref="T:System.ArgumentException"><paramref name="newNumberOfColumns"/> is less than or equal to 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="newNumberOfRows"/> is less than or equal to 0.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.General.IMatrix`1.Columns">
            <summary>
            Gets the number of columns in this <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>.
            </summary>
            <value>The columns.</value>
        </member>
        <member name="P:NGenerics.DataStructures.General.IMatrix`1.Rows">
            <summary>
            Gets the number of rows in this <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/>.
            </summary>
        </member>
        <member name="P:NGenerics.DataStructures.General.IMatrix`1.IsSquare">
            <summary>
            Gets a value indicating whether this <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/> is square.
            </summary>
            <value><c>true</c> if this <see cref="T:NGenerics.DataStructures.General.IMatrix`1"/> is square; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:NGenerics.DataStructures.General.IMatrix`1.Item(System.Int32,System.Int32)">
            <summary>
            Gets or sets the value at the specified index.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="row"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="row"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="column"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="column"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Columns"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Inverse">
            <summary>
            Inverts this matrix.
            </summary>
            <returns>The inverted representation of this instance.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Determinant">
            <summary>
            Calculates the determinant of the matrix.
            </summary>
            <returns>The determinant of the matrix.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Negate">
            <summary>
            Negates (multiply all entries with -1) this matrix.
            </summary>
            <returns>The negated representation of the matrix.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Subtract(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <summary>
            Subtracts the matrices according to the linear algebra operator -.
            </summary>
            <param name="matrix">The result of the subtraction.</param>
            <returns>The result of the minus operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Add(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <summary>
            Adds to matrices according to the linear algebra operator +.
            </summary>
            <param name="matrix">The result of the addition.</param>
            <returns>The result of the plus operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Multiply(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <summary>
            Times the matrices according to the linear algebra operator *.
            </summary>
            <param name="matrix">The matrix.</param>
            <returns>The result of the times operation.</returns>
            <exception cref="T:System.ArgumentException"><see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/> is greater than <see cref="P:NGenerics.DataStructures.General.IMatrix`1.Rows"/> <paramref name="matrix"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Multiply(System.Double)">
            <summary>
            Times the matrices according to the linear algebra operator *.
            </summary>
            <param name="number">The number to multiply this matrix with.</param>
            <returns>The result of the times operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.MultiplyRow(System.Int32,System.Double)">
            <summary>
            Multiplies the row with the specified number.
            </summary>
            <param name="row">The index of the row to multiply.</param>
            <param name="number">The number to multiply each entry in the row with.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="row"/> is negative or larger than the number of rows in the matrix.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.MultiplyColumn(System.Int32,System.Double)">
            <summary>
            Multiplies the column with the specified number.
            </summary>
            <param name="column">The index of the column to multiply.</param>
            <param name="number">The number to multiply each entry in the column with.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="column"/> is negative or larger than the number of columns in the matrix.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Transpose">
            <summary>
            Transposes the matrix.
            </summary>
            <returns>The transposed representation of this matrix.</returns>
            <value>The transposed matrix.</value>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Minor(System.Int32,System.Int32)">
            <summary>
            Calculate the minor of the entry specified.
            </summary>
            <param name="row">The row index.</param>
            <param name="column">The column index.</param>
            <returns>The minor of the entry specified.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Adjoint">
            <summary>
            Calculates the adjoint (the transpose of the matrix formed by the cofactors of the elements of determinants) of the matrix.
            </summary>
            <returns>The adjoint of the matrix.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.Concatenate(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <summary>
            Concatenates two matrices in horizontal manner.
            </summary>
            <param name="rightMatrix">The right hand matrix to concatenate to the left hand matrix.</param>
            <returns>The result of the concatenate operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="rightMatrix"/> is null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="rightMatrix"/> does not have the same amount of rows as this matrix.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.IsSymmetric">
            <summary>
            Gets a value indicating whether this matrix instance is symmetric.
            </summary>
            <value>
            	<c>true</c> if this matrix instance is symmetric; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.IMathematicalMatrix.IsSingular">
            <summary>
            Verifies whether the matrix is singular or not.
            </summary>
            <value>A boolean value indicating whether the matrix is singular or not.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.IVector`1">
            <summary>
            An interface describing a mathematical Vector.
            </summary>
            <typeparam name="T">The type of vector.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.AbsoluteMaximum">
            <summary>
            Get the value of the absolute maximum dimension.
            </summary>
            <returns>The value of the absolute maximum dimension</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.AbsoluteMaximumIndex">
            <summary>
            Get the index of the absolute minimum dimension.
            </summary>
            <returns>The index of the absolute minimum dimension</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.AbsoluteMinimum">
            <summary>
            Get the value of the absolute minimum dimension.
            </summary>
            <returns>The value of the absolute minimum dimension</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.AbsoluteMinimumIndex">
            <summary>
            Get the index of the absolute maximum dimension.
            </summary>
            <returns>The index of the absolute maximum dimension</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Add(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Adds a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to add to this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="vector"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Add(`0)">
            <summary>
            Adds a <typeparamref name="T"/> to each dimension.
            </summary>
            <param name="number">The <typeparamref name="T"/> to add to this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Clear">
            <summary>
            Sets the value of each dimension to zero.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.CrossProduct(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Get the cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> and <paramref name="vector"/>.
            </summary>
            <remarks>
            Consider two vectors, a = (1,2,3) and b = (4,5,6). The cross product a × b is
            a × b = (1,2,3) × (4,5,6) = ((2 × 6 - 3 × 5),(3 × 4 - 1 × 6), (1 × 5 - 2 × 4)) = (-3,6,-3). 
            </remarks>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to calculate the cross product with.</param>
            <returns>The cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> and <paramref name="vector"/>.</returns>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> does not equal 3.</exception>
            <exception cref="T:System.ArgumentException"><see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of this <paramref name="vector"/> does not equal 3.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Decrement">
            <summary>
            Decrement each dimension by 1.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.DotProduct(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Calculate the dot product.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to calculate the dot product with.</param>
            <returns>The dot product of the current instance and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="vector"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Sum">
            <summary>
            Computes the sum of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <returns>The sum of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Product">
            <summary>
            Computes the product of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <returns>The product of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Increment">
            <summary>
            Increment each dimension by 1.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude">
            <summary>
            Gets the magnitude of this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <returns>The magnitude of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Divide(`0)">
            <summary>
            Divide each dimension by a number.
            </summary>
            <param name="number">The <typeparamref name="T"/> to divide by.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Divide(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Divide by a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to divide by.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="vector"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Negate">
            <summary>
            Negate each dimension.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Normalize">
            <summary>
            Normalize each dimension.
            </summary>
            <remarks>
            Results in the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> having a <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> of 1.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Maximum">
            <summary>
            Get the value of the maximum dimension.
            </summary>
            <returns>The value of the maximum dimension.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.MaximumIndex">
            <summary>
            Get the index of the maximum dimension.
            </summary>
            <returns>The index of the maximum dimension.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Minimum">
            <summary>
            Get the value of the minimum dimension.
            </summary>
            <returns>The value of the minimum dimension.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.MinimumIndex">
            <summary>
            Get the index of the minimum dimension.
            </summary>
            <returns>The index of the minimum dimension.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Multiply(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Multiply the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> with another <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to multiply by.</param>
            <returns>The result of the multiply operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="vector"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Multiply(`0)">
            <summary>
            Multiply the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> with a <typeparamref name="T"/>.
            </summary>
            <param name="number">The <typeparamref name="T"/> to multiply by.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Subtract(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Subtracts a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> from the current instance.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Subtract(`0)">
            <summary>
            Subtracts a <typeparamref name="T"/> from the current instance.
            </summary>
            <param name="number">The <typeparamref name="T"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.SetValues(`0[])">
            <summary>
            Set the values of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>
            </summary>
            <param name="values">The values to set.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="values"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The length of <paramref name="values"/> does not equal <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.Swap(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Swap all the values with another <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="other">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to swap values with.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.ToArray">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to a new <typeparamref name="T"/> array. 
            </summary>
            <returns>A <typeparamref name="T"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.IVector`1.ToMatrix">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/>. 
            </summary>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.IVector`1.Item(System.Int32)">
            <summary>
            Gets or sets the element in the specified dimension.
            </summary>
            <exception cref="T:System.IndexOutOfRangeException"><paramref name="index"/> is &gt; <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/>.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount">
            <summary>
            Gets the dimension count of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.LUDecomposition">
            <summary>
              LU decomposition (Gaussian elimination) of a rectangular Matrix.
            </summary>
            <remarks>
              For an m-by-n Matrix <c>A</c> with m >= n, the LU decomposition is an m-by-n
              unit lower triangular Matrix <c>L</c>, an n-by-n upper triangular Matrix <c>U</c>,
              and a permutation vector <c>piv</c> of length m so that <c>A(piv)=L*U</c>.
              If m &lt; n, then <c>L</c> is m-by-m and <c>U</c> is m-by-n.
            </remarks>
            <remarks>
            Adapted from the JAMA package : http://math.nist.gov/javanumerics/jama/
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.#ctor(NGenerics.DataStructures.Mathematical.Matrix)">
            <param name="matrix">The matrix.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.Determinant">
            <summary>
            Calculates the determinant.
            </summary>
            <returns>The determinant.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.Rank">
            <summary>
             Description
            returns rank of matrix
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.SolveInternal(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Solves the equation for the specified matrices.
            </summary>
            <param name="B">The result (B).</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.Decompose(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Decomposes the specified matrix using a LU decomposition.
            </summary>
            <param name="matrix">The matrix to decompose.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.GetLowerTriangularFactor">
            <summary>
            Gets the lower triangular factor (L).
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.GetUpperTriangularFactor">
            <summary>
            Gets the upper triangular factor (U).
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.LUDecomposition.Solve(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Solve A*X = B
            </summary>
            <param name="right">A Matrix with as many rows as A and any number of columns.</param>
            <returns>The Matrix X, so that A * X = B.</returns>
            <exception cref="T:System.ArgumentException">Matrix row dimensions must agree.
            </exception>
            <exception cref="T:System.ArgumentException">Matrix is singular.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.LUDecomposition.NonSingular">
            <summary>
            Gets a value indicating whether the matrix is non singular.
            </summary>
            <value><c>true</c> if non singular; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.LUDecomposition.LeftFactorMatrix">
            <summary>
            Gets the lower triangular factor L, with A=LU.
            </summary>
            <value>The lower triangular factor.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.LUDecomposition.RightFactorMatrix">
            <summary>
            Gets the upper triangular factor U, with A=LU.
            </summary>
            <value>The upper triangular factor.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.Matrix">
            <summary>
            A Matrix data structure corresponding to the mathematical matrix used in linear algebra.	
            </summary>
            <remarks>
            Some of the members have been adapted from the JAMA package : http://math.nist.gov/javanumerics/jama/, which is in the public domain.
            </remarks>
        </member>
        <member name="T:NGenerics.DataStructures.General.ObjectMatrix`1">
            <summary>
            A data structure representing a matrix of objects.
            </summary>
            <typeparam name="T">The type of elements in the object matrix.</typeparam>
        </member>
        <member name="F:NGenerics.DataStructures.General.ObjectMatrix`1.noOfColumns">
            <summary>
            The number of columns in the matrix.
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.General.ObjectMatrix`1.noOfRows">
            <summary>
            The number of rows in the matrix.
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.General.ObjectMatrix`1.data">
            <summary>
            The data matrix.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> class.
            </summary>
            <param name="rows">The rows.</param>
            <param name="columns">The columns.</param>
            <exception cref="T:System.ArgumentException"><paramref name="columns"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="rows"/> is less than 0.</exception>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.#ctor(System.Int32,System.Int32,`0[])">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> class.
            </summary>
            <param name="rows">The rows.</param>
            <param name="columns">The columns.</param>
            <param name="pData">The data.</param>
            <exception cref="T:System.ArgumentException"><paramref name="columns"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="rows"/> is less than 0.</exception>
            <example>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.#ctor(System.Int32,System.Int32,`0[0:,0:])">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> class.
            </summary>
            <param name="rows">The rows.</param>
            <param name="columns">The columns.</param>
            <param name="data">The data.</param>
            <exception cref="T:System.ArgumentException"><paramref name="columns"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="rows"/> is less than 0.</exception>
            <example>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.NGenerics#DataStructures#General#IMatrix{T}#GetSubMatrix(System.Int32,System.Int32,System.Int32,System.Int32)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <inheritdoc/>  
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.Clear">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.Contains(`0)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <inheritdoc/>  
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.ValidateIsSquare">
            <summary>
            Validate that <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.IsSquare"/> is <c>true</c>.
            </summary>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.IsSquare"/> is <c>false</c>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.ToArray">
            <summary>
            Copies the elements of the Matrix to a new array
            </summary>
            <returns>An [n,m] array containing copies of the elements of the Matrix. </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.GetSubMatrix(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Gets the sub matrix.
            </summary>
            <param name="rowStart">The row start.</param>
            <param name="columnStart">The column start.</param>
            <param name="rowCount">The row count.</param>
            <param name="columnCount">The column count.</param>
            <returns>The sub matrix of the current matrix.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="rowCount"/> is less than or equal to 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="columnCount"/> is less than or equal to 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="rowStart"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="columnStart"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="rowStart"/> plus <paramref name="rowCount"/> is greater that <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="columnStart"/> plus <paramref name="columnCount"/> is greater that <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/>.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="GetSubMatrix" lang="cs" title="The following example shows how to use the GetSubMatrix method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="GetSubMatrix" lang="vbnet" title="The following example shows how to use the GetSubMatrix method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.InterchangeRows(System.Int32,System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="InterchangeRows" lang="cs" title="The following example shows how to use the InterchangeRows method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="InterchangeRows" lang="vbnet" title="The following example shows how to use the InterchangeRows method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.InterchangeColumns(System.Int32,System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="InterchangeColumns" lang="cs" title="The following example shows how to use the InterchangeColumns method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="InterchangeColumns" lang="vbnet" title="The following example shows how to use the InterchangeColumns method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.GetRow(System.Int32)">
            <inheritdoc />   
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="GetRow" lang="cs" title="The following example shows how to use the GetRow method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="GetRow" lang="vbnet" title="The following example shows how to use the GetRow method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.GetColumn(System.Int32)">
            <inheritdoc />   
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="GetColumn" lang="cs" title="The following example shows how to use the GetColumn method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="GetColumn" lang="vbnet" title="The following example shows how to use the GetColumn method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.AddRows(System.Int32)">
            <inheritdoc />    
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="AddRows" lang="cs" title="The following example shows how to use the AddRows method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="AddRows" lang="vbnet" title="The following example shows how to use the AddRows method."/>
            </example>  
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.AddRow">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="AddRow" lang="cs" title="The following example shows how to use the AddRow method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="AddRow" lang="vbnet" title="The following example shows how to use the AddRow method."/>
            </example>  
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.AddColumn(`0[])">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="AddColumnValues" lang="cs" title="The following example shows how to use the AddColumn method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="AddColumnValues" lang="vbnet" title="The following example shows how to use the AddColumn method."/>
            </example>  
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.AddColumns(System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="AddColumns" lang="cs" title="The following example shows how to use the AddColumns method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="AddColumns" lang="vbnet" title="The following example shows how to use the AddColumns method."/>
            </example>      
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.AddColumn">
            <inheritdoc /> 
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="AddColumn" lang="cs" title="The following example shows how to use the AddColumn method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="AddColumn" lang="vbnet" title="The following example shows how to use the AddColumn method."/>
            </example>      
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.AddRow(`0[])">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="AddRowValues" lang="cs" title="The following example shows how to use the AddRow method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="AddRowValues" lang="vbnet" title="The following example shows how to use the AddRow method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.Resize(System.Int32,System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Resize" lang="cs" title="The following example shows how to use the Resize method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Resize" lang="vbnet" title="The following example shows how to use the Resize method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.DeleteRow(System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="DeleteRow" lang="cs" title="The following example shows how to use the DeleteRow method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="DeleteRow" lang="vbnet" title="The following example shows how to use the DeleteRow method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.DeleteColumn(System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="DeleteColumn" lang="cs" title="The following example shows how to use the DeleteColumn method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="DeleteColumn" lang="vbnet" title="The following example shows how to use the DeleteColumn method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.ToString">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.GetValue(System.Int32,System.Int32)">
            <summary>
            Gets the value at the specified indexes.
            </summary>
            <param name="row">The row index.</param>
            <param name="column">The column index.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.SetValue(System.Int32,System.Int32,`0)">
            <summary>
            Gets the value at the specified indexes.
            </summary>
            <param name="row">The row index.</param>
            <param name="column">The column index.</param>
            <param name="value">The value.</param>
            <returns></returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.GetOffset(System.Int32,System.Int32)">
            <summary>
            Gets the offset.
            </summary>
            <param name="row">The row.</param>
            <param name="column">The column.</param>
            <returns>The offset of <paramref name="row"/> and <paramref name="row"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.CheckIndexValid(System.Int32,System.Int32)">
            <summary>
            Checks whether the index supplied is valid.
            </summary>
            <param name="i">The i.</param>
            <param name="j">The j.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="i"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="i"/> is greater than <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="j"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="j"/> is greater than <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.ObjectMatrix`1.CopyData(`0[],System.Int32)">
            <summary>
            Copies the data.
            </summary>
            <param name="newData">The new data.</param>
            <param name="newColumnCount">The new column count.</param>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.IsSquare">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="IsSquare" lang="cs" title="The following example shows how to use the IsSquare property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="IsSquare" lang="vbnet" title="The following example shows how to use the IsSquare property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.Item(System.Int32,System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Index" lang="cs" title="The following example shows how to use the Index property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Index" lang="vbnet" title="The following example shows how to use the Index property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.System#Collections#Generic#ICollection{T}#Count">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.IsReadOnly">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Columns" lang="cs" title="The following example shows how to use the Columns property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Columns" lang="vbnet" title="The following example shows how to use the Columns property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\ObjectMatrixExamples.cs" region="Rows" lang="cs" title="The following example shows how to use the Rows property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\ObjectMatrixExamples.vb" region="Rows" lang="vbnet" title="The following example shows how to use the Rows property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.ObjectMatrix`1.Data">
            <summary>
            Gets the data.
            </summary>
            <value>The data.</value>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.#ctor(System.Int32,System.Int32)">
            <inheritdoc/>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.#ctor(System.Int32,System.Int32,System.Double[])">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> class.
            </summary>
            <param name="rows">The number of rows.</param>
            <param name="columns">The number of columns.</param>
            <param name="data">The data to initialise the matrix with.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.#ctor(System.Int32,System.Int32,System.Double[0:,0:])">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> class.
            </summary>
            <param name="rows">The number of rows.</param>
            <param name="columns">The number of columns.</param>
            <param name="data">The data to initialise the matrix with.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#General#IMatrix{System#Double}#GetSubMatrix(System.Int32,System.Int32,System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Multiply(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Multiply(System.Double)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Add(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Negate">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Inverse">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Minor(System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Adjoint">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Concatenate(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Subtract(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.NGenerics#DataStructures#Mathematical#IMathematicalMatrix#Transpose">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Minor(System.Int32,System.Int32)">
            <summary>
            Calculate the minor of the entry specified.
            </summary>
            <param name="row">The row index.</param>
            <param name="column">The column index.</param>
            <returns>The matrix without the row and column specified.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Minor" lang="cs" title="The following example shows how to use the Minor method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Minor" lang="vbnet" title="The following example shows how to use the Minor method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Determinant">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Determinant" lang="cs" title="The following example shows how to use the Determinant method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Determinant" lang="vbnet" title="The following example shows how to use the Determinant method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Rank">
            <summary>
            Calculates the rank of the matrix.
            </summary>
            <returns>the rank of the matrix.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.LinearSolve(NGenerics.DataStructures.Mathematical.Matrix,NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Solves the equation
            A*x = B;
            Where A is a square matrix of arbitrary size n and x and b are vectors of size n.
            Returns the inverse of square non-singular matrix A.
            </summary>
            <param name="leftMatrix"> leftMatrix is a square matrix of arbitrary size n and x and.</param>
            <param name="rightMatrix"> rightMatrix is a vector of size n</param>
            <returns>The inverse of square non-singular matrix <paramref name="leftMatrix"/> as a vector of size n</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Adjoint">
            <summary>
            Calculates the adjoint (the transpose of the matrix formed by the cofactors of the elements of determinants) of the matrix.
            </summary>
            <returns>The Adjoint of the current matrix.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Adjoint" lang="cs" title="The following example shows how to use the Adjoint method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Adjoint" lang="vbnet" title="The following example shows how to use the Adjoint method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Multiply(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Times the matrices according to the linear algebra operator *.
            </summary>
            <param name="matrix">The matrix to multiply this matrix with.</param>
            <returns>The result of the times operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/> of the current instance do not equal the <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/> of <paramref name="matrix"/>.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="MultiplyMatrixMatrix" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="MultiplyMatrixMatrix" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Multiply(System.Double)">
            <summary>
            Times the matrices according to the linear algebra operator *.
            </summary>
            <param name="number">The number to multiply this matrix with.</param>
            <returns>The result of the times operation.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="MultiplyMatrixDouble" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="MultiplyMatrixDouble" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Add(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Adds to matrices according to the linear algebra operator +.
            </summary>
            <param name="matrix">The matrix to add to this matrix.</param>
            <returns>The result of the plus operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/> of the current instance do not equal the <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/> of <paramref name="matrix"/>.</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows"/> of the current instance do not equal the <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows"/> of <paramref name="matrix"/>.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Negate">
            <summary>
            Negate (multiply all entries with -1) this instance.
            </summary>
            <returns>An negated representation of the current matrix.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Negate" lang="cs" title="The following example shows how to use the Negate method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Negate" lang="vbnet" title="The following example shows how to use the Negate method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Subtract(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Subtracts the matrices according to the linear algebra operator -.
            </summary>
            <param name="matrix">The matrix to subtract from this matrix.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/> of the current instance do not equal the <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Columns"/> of <paramref name="matrix"/>.</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows"/> of the current instance do not equal the <see cref="P:NGenerics.DataStructures.General.ObjectMatrix`1.Rows"/> of <paramref name="matrix"/>.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Subtract" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Subtract" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Transpose">
            <summary>
            Transposes the matrix.
            </summary>
            <returns>The transposed matrix.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Transpose" lang="cs" title="The following example shows how to use the Transpose method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Transpose" lang="vbnet" title="The following example shows how to use the Transpose method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Inverse">
            <summary>
            Inverts this instance.
            </summary>
            <returns>An inverted representation of the current matrix.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Inverse" lang="cs" title="The following example shows how to use the Inverse method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Inverse" lang="vbnet" title="The following example shows how to use the Inverse method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Diagonal(System.Int32,System.Int32,System.Double)">
            <summary>
            Constructs a diagonal matrix of the specified size with the specified value.
            </summary>
            <param name="rows">The number of rows.</param>
            <param name="columns">The number of columns.</param>
            <param name="value">The value of diagonal elements.</param>
            <returns>An diagonal matrix of the specified size.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.IdentityMatrix(System.Int32,System.Int32)">
            <summary>
            Constructs an identity matrix of the specified size.
            </summary>
            <param name="rows">The number of rows.</param>
            <param name="columns">The number of columns.</param>
            <returns>An identity matrix of the specified size.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Solve(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Calculates the LHS solution vector if the matrix is square or the least squares solution otherwise.
            </summary>
            <param name="rightHandSide">The right hand side.</param>
            <returns>Returns the LHS solution vector if the matrix is square or the least squares solution otherwise.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.MultiplyRow(System.Int32,System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="MultiplyRow" lang="cs" title="The following example shows how to use the MultiplyRow method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="MultiplyRow" lang="vbnet" title="The following example shows how to use the MultiplyRow method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.MultiplyColumn(System.Int32,System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="MultiplyColumn" lang="cs" title="The following example shows how to use the MultiplyColumn method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="MultiplyColumn" lang="vbnet" title="The following example shows how to use the MultiplyColumn method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Concatenate(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Concatenates two matrices in horizontal manner.
            </summary>
            <param name="rightMatrix">The right hand matrix to concatenate to the left hand matrix.</param>
            <returns>The result of the concatenate operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="rightMatrix"/> is null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="rightMatrix"/> does not have the same amount of rows as this matrix.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Concatenate" lang="cs" title="The following example shows how to use the Concatenate method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Concatenate" lang="vbnet" title="The following example shows how to use the Concatenate method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Clone">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Clone" lang="cs" title="The following example shows how to use the Clone method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Clone" lang="vbnet" title="The following example shows how to use the Clone method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.ChangeSignColumn(System.Int32)">
            <summary>
            Changes signs of all elements of specified column
            </summary>
            <param name="columnIndex">The index of the column to change the sign of.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.ChangeSignRow(System.Int32)">
            <summary>
            Changes signs of all elements of specified row
            </summary>
            <param name="rowIndex">The index of the row to change the sign of.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.GetSubMatrix(System.Int32[],System.Int32,System.Int32)">
            <summary>
            Gets the sub matrix specified with the row indices, the start
            column, and the end column.
            </summary>
            <param name="rows">The row indices.</param>
            <param name="columnStart">The column start.</param>
            <param name="columnEnd">The column end.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.AddInternal(NGenerics.DataStructures.General.IMatrix{System.Double},NGenerics.DataStructures.General.IMatrix{System.Double})">
            <summary>
            Internal addition function.
            </summary>
            <param name="leftMatrix">The left matrix.</param>
            <param name="rightMatrix">The right matrix.</param>
            <returns>The result of the addition operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.ConcatenateInternal(NGenerics.DataStructures.General.IMatrix{System.Double},NGenerics.DataStructures.General.IMatrix{System.Double})">
            <summary>
            Internal method for concatenation.
            </summary>
            <param name="leftMatrix">The left hand side matrix.</param>
            <param name="rightMatrix">The right hand side matrix.</param>
            <returns>The result of the concatenation operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.op_Addition(NGenerics.DataStructures.Mathematical.Matrix,NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Overload of the operator + as in linear algebra.
            </summary>
            <param name="left">The left hand matrix.</param>
            <param name="right">The right hand matrix.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="OperatorPlus" lang="cs" title="The following example shows how to use the plus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="OperatorPlus" lang="vbnet" title="The following example shows how to use the plus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.op_Subtraction(NGenerics.DataStructures.Mathematical.Matrix,NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Overload of the operator - as in linear algebra.
            </summary>
            <param name="left">The left hand matrix.</param>
            <param name="right">The right hand matrix.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="OperatorMinus" lang="cs" title="The following example shows how to use the minus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="OperatorMinus" lang="vbnet" title="The following example shows how to use the minus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.op_Multiply(NGenerics.DataStructures.Mathematical.Matrix,NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Overload of the operator * as in linear algebra.
            </summary>
            <param name="left">The left hand matrix.</param>
            <param name="right">The right hand matrix.</param>
            <returns>The result of the multiplication.</returns>     
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>   
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="OperatorMultiplyMatrixMatrix" lang="cs" title="The following example shows how to use the multiply operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="OperatorMultiplyMatrixMatrix" lang="vbnet" title="The following example shows how to use the multiply operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.op_Multiply(System.Double,NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Overload of the operator * as in linear algebra.
            </summary>
            <param name="number">The number.</param>
            <param name="matrix">The right hand matrix.</param>
            <returns>The result of the multiplication.</returns> 
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="OperatorMultiplyMatrixDouble" lang="cs" title="The following example shows how to use the multiply operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="OperatorMultiplyMatrixDouble" lang="vbnet" title="The following example shows how to use the multiply operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.op_Multiply(NGenerics.DataStructures.Mathematical.Matrix,System.Double)">
            <summary>
            Overload of the operator * as in linear algebra.
            </summary>
            <param name="matrix">The number to be multiplied with.</param>
            <param name="number">The number.</param>
            <returns>The result of the multiplication.</returns>  
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="OperatorMultiplyMatrixDouble" lang="cs" title="The following example shows how to use the multiply operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="OperatorMultiplyMatrixDouble" lang="vbnet" title="The following example shows how to use the multiply operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.System#Collections#Generic#ICollection{System#Double}#Add(System.Double)">
            <inheritdoc/>
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.System#Collections#Generic#ICollection{System#Double}#Remove(System.Double)">
            <inheritdoc/>
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.GetSubMatrix(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Gets the sub matrix.
            </summary>
            <param name="rowStart">The row start.</param>
            <param name="columnStart">The column start.</param>
            <param name="rowCount">The row count.</param>
            <param name="columnCount">The column count.</param>
            <returns>The sub matrix of the current matrix.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="GetSubMatrix" lang="cs" title="The following example shows how to use the GetSubMatrix method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="GetSubMatrix" lang="vbnet" title="The following example shows how to use the GetSubMatrix method."/>
            </example>           
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.System#ICloneable#Clone">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Equals(NGenerics.DataStructures.Mathematical.IMathematicalMatrix)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Equals" lang="cs" title="The following example shows how to use the Equals method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Equals" lang="vbnet" title="The following example shows how to use the Equals method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Matrix.Equals(NGenerics.DataStructures.Mathematical.IMathematicalMatrix,System.Double)">
            <summary>
            Compares elements with precision factor to solve machine double rounding problem.
            </summary>
            <param name="other">The other matrix to compare.</param>
            <param name="precision">The precision with which to compare.</param>
            <returns></returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="Equals" lang="cs" title="The following example shows how to use the Equals method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="Equals" lang="vbnet" title="The following example shows how to use the Equals method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.IsPositiveDefinite">
            <summary>
            Checks if matrix positive definite .
            </summary>
            <returns>true if matrix is  positive definite.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.IsSymmetric">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="IsSymmetric" lang="cs" title="The following example shows how to use the IsSymmetric property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="IsSymmetric" lang="vbnet" title="The following example shows how to use the IsSymmetric property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.IsSingular">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\MatrixExamples.cs" region="IsSingular" lang="cs" title="The following example shows how to use the IsSingular property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\MatrixExamples.vb" region="IsSingular" lang="vbnet" title="The following example shows how to use the IsSingular property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.IsDiagonal">
            <summary>
            Verifies whether the matrix is diagonal or not.
            </summary>
            <value>
            	A boolean value indicating whether the matrix is diagonal or not.
            </value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.IsTriangular">
            <summary>
            Verifies whether the matrix is Triangular or not.
            </summary>
            <value>
            A TriangularMatrixTypes enum value indicating whether the matrix is UpperTriangular, LowerTriangular, Diagonal or not.
            </value>      
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.Trace">
            <summary>
            Calculates the trace of the current matrix.
            </summary>
            <value>The sum of the diagonal elements of the matrix.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.OneNorm">
            <summary>
            Calculates the One Norm for the matrix.
            </summary>
            <value>The maximum column sum.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.InfinityNorm">
            <summary>
            Calculates infinity norm for the matrix.
            </summary>
            <value>The maximum row sum.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Matrix.FrobeniusNorm">
            <summary>
            Calculates the Frobenius Norm for the matrix.
            </summary>
            <value>The square root of sum of squares of all elements.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.QRDecomposition">
            <summary>
            QR Decomposition.
            </summary>
            <remarks>
            For an qr.Rows-by-qr.Columns matrix A with qr.Rows >= qr.Columns, the QR decomposition is an qr.Rows-by-qr.Columns
            orthogonal matrix Q and an qr.Columns-by-qr.Columns upper triangular matrix R so that
            A = Q*R.
            </remarks>
            <remarks>
            The QR decomposition always exists, even if the matrix does not have
            full rank, so the constructor will never fail.  The primary use of the
            QR decomposition is in the least squares solution of non-square systems
            of simultaneous linear equations.  This will fail if isFullRank()
            returns <c>false</c>.
            </remarks>
            <remarks>
            Adapted from the JAMA package : http://math.nist.gov/javanumerics/jama/
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.QRDecomposition.#ctor(NGenerics.DataStructures.Mathematical.Matrix)">
            <param name="matrix">A rectangular matrix.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.QRDecomposition.Decompose(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Decomposes the specified matrix, using a QR decomposition.
            </summary>
            <param name="matrix">The matrix to decompose.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.QRDecomposition.Solve(NGenerics.DataStructures.Mathematical.Matrix)">
            <summary>
            Least squares solution of A*X = B
            </summary>
            <param name="right">A Matrix with as many rows as A and any number of columns.</param>
            <returns>Matrix X that minimizes the two norm of Q*R*X-B.</returns>
            <exception cref="T:System.ArgumentException">Matrix row dimensions must agree.</exception>
            <exception cref="T:System.ArgumentException">Matrix is rank deficient.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.QRDecomposition.IsFullRank">
            <summary>
            Gets a value indicating whether the matrix is full rank.
            </summary>
            <value><c>true</c> if R, and hence A, has full rank, else <c>false</c>..</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.QRDecomposition.H">
            <summary>
            Gets the Householder vectors.
            </summary>
            <value>Lower trapezoidal matrix whose columns define the reflections.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.QRDecomposition.UpperTriangularMatrix">
            <summary>
            Gets the the upper triangular factor.
            </summary>
            <returns>The upper triangular factor.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.QRDecomposition.OrthogonalFactor">
            <summary>
            Generate and return the (economy-sized) orthogonal factor.
            </summary>
            <returns>The (economy-sized) orthogonal factor.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.QRDecomposition.LeftFactorMatrix">
            <summary>
            Get the (economy-sized) orthogonal factor Q, with A=QR.
            </summary>
            <returns>the orthogonal factor.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.QRDecomposition.RightFactorMatrix">
            <summary>
            Gets the the upper triangular factor R, with A=QR.
            </summary>
            <returns>The upper triangular factor.</returns>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.TriangularMatrixType">
            <summary>
            Represents the different types of Triangular Matrices.
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.Mathematical.TriangularMatrixType.None">
            <summary>
            Non-triangular Matrix
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.Mathematical.TriangularMatrixType.Upper">
            <summary>
            Upper Triangular Matrixes
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.Mathematical.TriangularMatrixType.Lower">
            <summary>
            Lower Triangular Matrixes
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.Mathematical.TriangularMatrixType.Diagonal">
            <summary>
            Diagonal Matrixes
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.Vector2D">
            <summary>
            A Vector data structure.
            </summary>
            <summary>
            A Vector data structure.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.VectorBase`1">
            <summary>
            A Vector data structure.
            </summary>
            <summary>
            A Vector data structure.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.#ctor(System.Int32)">
            <summary>
            Initialise a new instance of the <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/> class.
            </summary>
            <param name="dimensionCount">The number of dimensions.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="dimensionCount"/> is less than 0.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Add(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.AddSafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Adds a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to add to this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Add(`0)">
            <summary>
            Adds a <typeparamref name="T"/> to each dimension.
            </summary>
            <param name="number">The <typeparamref name="T"/> to add to this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.CheckDimensionsEqual(NGenerics.DataStructures.Mathematical.IVector{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Check if the dimensions of two <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>s are equal.
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
            <exception cref="T:System.ArgumentException">The left <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> does not equal the right <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Clear">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.DeepClone">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Clone">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.CrossProduct(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.CrossProductSafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Get the cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> and <paramref name="vector"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to calculate the cross product with.</param>
            <returns>The cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> and <paramref name="vector"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Increment">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Magnitude">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Product">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Sum">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Decrement">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Divide(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Divide by a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to divide by.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.DivideSafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Divide by a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to divide by.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Divide(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.DotProduct(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.DotProductSafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Calculate the dot product.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to calculate the dot product with.</param>
            <returns>The dot product of the current instance and <paramref name="vector"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Equals(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.AbsoluteMaximum">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.AbsoluteMaximumIndex">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.AbsoluteMinimum">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.AbsoluteMinimumIndex">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Maximum">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.MaximumIndex">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Minimum">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.MinimumIndex">
            <summary>
            Get the index of the minimum dimension.
            </summary>
            <returns>The index of the minimum dimension.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Multiply(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.MultiplySafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Multiply the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> with another <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to multiply by.</param>
            <returns>The result of the multiply operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Multiply(`0)">
            <summary>
            Multiply the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> with a <typeparamref name="T"/>.
            </summary>
            <param name="number">The <typeparamref name="T"/> to multiply by.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Negate">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Normalize">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.SetValues(`0[])">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.SetValuesSafe(`0[])">
            <summary>
            Set the values of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>
            </summary>
            <remarks><paramref name="values"/> has already been checked for null and that it is of the correct length.</remarks>
            <param name="values">The values to set.</param>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Mathematical.VectorBase`1.SetValues(`0[])"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Subtract(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Subtracts a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> from the current instance.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.SubtractSafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Subtracts a <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> from the current instance.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
            <returns>The result of the subtraction.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Subtract(`0)">
            <summary>
            Subtracts a <typeparamref name="T"/> from the current instance.
            </summary>
            <param name="number">The <typeparamref name="T"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
            <returns>The result of the subtraction.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Swap(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Swap all the values with another <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="other">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to swap values with.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="other"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="other"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.SwapSafe(NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Swap all the values with another <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <remarks><paramref name="other"/> has been checked for null and that its dimensions match the current <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</remarks>
            <param name="other">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to swap value with.</param>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Mathematical.VectorBase`1.Swap(NGenerics.DataStructures.Mathematical.IVector{`0})"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.ToArray">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to a new <typeparamref name="T"/> array. 
            </summary>
            <returns>A <typeparamref name="T"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.ToString">
            <summary>
            Returns a string representation of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <returns>
            A string representation of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.ToMatrix">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/>. 
            </summary>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Equality(NGenerics.DataStructures.Mathematical.VectorBase{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Equals operator.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><c>true</c> is <paramref name="left"/> is equal to <paramref name="right"/>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Inequality(NGenerics.DataStructures.Mathematical.VectorBase{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Not Equals operator.
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><c>true</c> is <paramref name="left"/> is not equal to <paramref name="right"/>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Division(NGenerics.DataStructures.Mathematical.VectorBase{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Overload of the operator /
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the division.</returns>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="left"/> does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="right"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Division(NGenerics.DataStructures.Mathematical.VectorBase{`0},`0)">
            <summary>
            Overload of the operator /
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the division.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Multiply(NGenerics.DataStructures.Mathematical.VectorBase{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="right"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Multiply(NGenerics.DataStructures.Mathematical.VectorBase{`0},`0)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Addition(NGenerics.DataStructures.Mathematical.VectorBase{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="right"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Increment(NGenerics.DataStructures.Mathematical.VectorBase{`0})">
            <summary>
            Overload of the operator ++
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="right"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Addition(NGenerics.DataStructures.Mathematical.VectorBase{`0},`0)">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Subtraction(NGenerics.DataStructures.Mathematical.VectorBase{`0},NGenerics.DataStructures.Mathematical.IVector{`0})">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="right"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Subtraction(NGenerics.DataStructures.Mathematical.VectorBase{`0},`0)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_UnaryNegation(NGenerics.DataStructures.Mathematical.VectorBase{`0})">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the negation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorBase`1.op_Decrement(NGenerics.DataStructures.Mathematical.VectorBase{`0})">
            <summary>
            Overload of the operator --
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="right"/>.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.VectorBase`1.DimensionCount">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.VectorBase`1.Item(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.#ctor">
            <inheritdoc/>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.#ctor(System.Double,System.Double)">
            <inheritdoc/>
            <param name="x">The X dimension.</param>
            <param name="y">The Y dimension.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="ConstructorInitValues" lang="cs" title="The following example shows how to use the initialize values constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="ConstructorInitValues" lang="vbnet" title="The following example shows how to use the initialize values constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.AbsoluteMaximum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="AbsoluteMaximum" lang="cs" title="The following example shows how to use the AbsoluteMaximum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="AbsoluteMaximum" lang="vbnet" title="The following example shows how to use the AbsoluteMaximum method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.AbsoluteMaximumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="AbsoluteMaximumIndex" lang="cs" title="The following example shows how to use the AbsoluteMaximumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="AbsoluteMaximumIndex" lang="vbnet" title="The following example shows how to use the AbsoluteMaximumIndex method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.AbsoluteMinimum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="AbsoluteMinimum" lang="cs" title="The following example shows how to use the AbsoluteMinimum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="AbsoluteMinimum" lang="vbnet" title="The following example shows how to use the AbsoluteMinimum method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.AbsoluteMinimumIndex">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Add(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="AddDouble" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="AddDouble" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Add(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Adds a <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to the current <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to add to this <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="AddVector" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="AddVector" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.AddSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.CloneInternal">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.CrossProduct(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Get the cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> and <paramref name="vector"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to calculate the cross product with.</param>
            <returns>The cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="CrossProduct3D" lang="cs" title="The following example shows how to use the CrossProduct method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="CrossProduct3D" lang="vbnet" title="The following example shows how to use the CrossProduct method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.CrossProduct(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Get the cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> and <paramref name="vector"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to calculate the cross product with.</param>
            <returns>The cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="CrossProduct2D" lang="cs" title="The following example shows how to use the CrossProduct method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="CrossProduct2D" lang="vbnet" title="The following example shows how to use the CrossProduct method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.CrossProductSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.DeepClone">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Decrement">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Decrement" lang="cs" title="The following example shows how to use the Decrement method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Decrement" lang="vbnet" title="The following example shows how to use the Decrement method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Divide(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="DivideDouble" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="DivideDouble" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Divide(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Divide each dimension by a number.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to divide by.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="DivideVector" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="DivideVector" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.DivideSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.DotProduct(NGenerics.DataStructures.Mathematical.Vector2D)">
             <summary>
             Calculate the dot product.
             </summary>
             <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to calculate the dot product with.</param>
             <returns>The dot product of the current instance and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
             <example>
             <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="DotProduct" lang="cs" title="The following example shows how to use the DotProduct method."/>
             <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="DotProduct" lang="vbnet" title="The following example shows how to use the DotProduct method."/>
             </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.DotProductSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Increment">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Increment" lang="cs" title="The following example shows how to use the Increment method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Increment" lang="vbnet" title="The following example shows how to use the Increment method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Magnitude">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Magnitude" lang="cs" title="The following example shows how to use the Magnitude method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Magnitude" lang="vbnet" title="The following example shows how to use the Magnitude method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Maximum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Maximum" lang="cs" title="The following example shows how to use the Maximum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Maximum" lang="vbnet" title="The following example shows how to use the Maximum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.MaximumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="MinimumIndex" lang="cs" title="The following example shows how to use the MinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="MinimumIndex" lang="vbnet" title="The following example shows how to use the MinimumIndex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Minimum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Minimum" lang="cs" title="The following example shows how to use the Minimum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Minimum" lang="vbnet" title="The following example shows how to use the Minimum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.MinimumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="MinimumIndex" lang="cs" title="The following example shows how to use the MinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="MinimumIndex" lang="vbnet" title="The following example shows how to use the MinimumIndex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Multiply(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="MultiplyDouble" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="MultiplyDouble" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Multiply(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Multiply the current <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> with another <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to multiply by.</param>
            <returns>The result of the multiply operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="MultiplyVector" lang="cs" title="The following example shows how to use the Multiple method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="MultiplyVector" lang="vbnet" title="The following example shows how to use the Multiple method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.MultiplySafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Negate">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Negate" lang="cs" title="The following example shows how to use the Negate method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Negate" lang="vbnet" title="The following example shows how to use the Negate method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Normalize">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Normalize" lang="cs" title="The following example shows how to use the Normalize method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Normalize" lang="vbnet" title="The following example shows how to use the Normalize method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.SetValuesSafe(System.Double[])">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Product">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Product" lang="cs" title="The following example shows how to use the Product method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Product" lang="vbnet" title="The following example shows how to use the Product method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Subtract(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="SubtractDouble" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="SubtractDouble" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Subtract(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Subtracts a <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> from the current instance.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="SubtractVector" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="SubtractVector" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.SubtractSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Sum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Sum" lang="cs" title="The following example shows how to use the Sum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Sum" lang="vbnet" title="The following example shows how to use the Sum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.SwapSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.Swap(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Swap all the values with another <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.
            </summary>
            <param name="other">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to swap values with.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="other"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Swap" lang="cs" title="The following example shows how to use the Swap method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Swap" lang="vbnet" title="The following example shows how to use the Swap method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.ToArray">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="ToArray" lang="cs" title="The following example shows how to use the ToArray method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="ToArray" lang="vbnet" title="The following example shows how to use the ToArray method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.ToMatrix">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="ToMatrix" lang="cs" title="The following example shows how to use the ToMatrix method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="ToMatrix" lang="vbnet" title="The following example shows how to use the ToMatrix method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Division(NGenerics.DataStructures.Mathematical.Vector2D,System.Double)">
            <summary>
            Overload of the operator /
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the division.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorDivideDouble" lang="cs" title="The following example shows how to use the divide operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorDivideDouble" lang="vbnet" title="The following example shows how to use the divide operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Division(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator / 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorDivideVector" lang="cs" title="The following example shows how to use the divide operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorDivideVector" lang="vbnet" title="The following example shows how to use the divide operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Multiply(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorMultiplyVector" lang="cs" title="The following example shows how to use the multiply operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorMultiplyVector" lang="vbnet" title="The following example shows how to use the multiply operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Multiply(NGenerics.DataStructures.Mathematical.Vector2D,System.Double)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorMultiplyDouble" lang="cs" title="The following example shows how to use the multiply operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorMultiplyDouble" lang="vbnet" title="The following example shows how to use the multiply operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Addition(NGenerics.DataStructures.Mathematical.Vector2D,System.Double)">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorPlusDouble" lang="cs" title="The following example shows how to use the plus."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorPlusDouble" lang="vbnet" title="The following example shows how to use the plus."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Addition(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorPlusVector" lang="cs" title="The following example shows how to use the plus."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorPlusVector" lang="vbnet" title="The following example shows how to use the plus."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Increment(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator ++
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorIncrement" lang="cs" title="The following example shows how to use the increment."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorIncrement" lang="vbnet" title="The following example shows how to use the increment."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Subtraction(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>        
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorSubtractVector" lang="cs" title="The following example shows how to use the minus."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorSubtractVector" lang="vbnet" title="The following example shows how to use the minus."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Subtraction(NGenerics.DataStructures.Mathematical.Vector2D,System.Double)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <returns>The result of the subtraction.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorSubtractDouble" lang="cs" title="The following example shows how to use the minus."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorSubtractDouble" lang="vbnet" title="The following example shows how to use the minus."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_UnaryNegation(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="right">The right hand <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</param>
            <returns>The result of the negation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorNegate" lang="cs" title="The following example shows how to use the negate."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorNegate" lang="vbnet" title="The following example shows how to use the negate."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Decrement(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Overload of the operator --
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorIncrement" lang="cs" title="The following example shows how to use the decrement."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorIncrement" lang="vbnet" title="The following example shows how to use the decrement."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Implicit(NGenerics.DataStructures.Mathematical.Vector2D)~NGenerics.DataStructures.Mathematical.Matrix">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/>. 
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> to convert.</param>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorToMatrix" lang="cs" title="The following example shows how to use the convert to matrix."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorToMatrix" lang="vbnet" title="The following example shows how to use the convert to matrix."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_Explicit(NGenerics.DataStructures.General.ObjectMatrix{System.Double})~NGenerics.DataStructures.Mathematical.Vector2D">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>. 
            </summary>
            <param name="matrix">The <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> to convert.</param>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.InvalidCastException"><paramref name="matrix"/> has more than 1 column.</exception>
            <exception cref="T:System.InvalidCastException"><paramref name="matrix"/> has more than 2 rows.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorFromMatrix" lang="cs" title="The following example shows how to use the convert from matrix."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorFromMatrix" lang="vbnet" title="The following example shows how to use the convert from matrix."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_GreaterThan(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> is greater than another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is greater than <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorGreaterThan" lang="cs" title="The following example shows how to use the &gt; operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorGreaterThan" lang="vbnet" title="The following example shows how to use the &gt; operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_LessThan(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> is less than another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is less than <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorLessThan" lang="cs" title="The following example shows how to use the &lt; operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorLessThan" lang="vbnet" title="The following example shows how to use the &lt; operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_GreaterThanOrEqual(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> is greater than or equal to another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is greater than or equal to <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorGreaterThanOrEqualTo" lang="cs" title="The following example shows how to use the &gt;= operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorGreaterThanOrEqualTo" lang="vbnet" title="The following example shows how to use the &gt;= operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector2D.op_LessThanOrEqual(NGenerics.DataStructures.Mathematical.Vector2D,NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/> is less than or equal to another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is less than or equal to <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.Operators.cs" region="OperatorLessThanOrEqualTo" lang="cs" title="The following example shows how to use the &lt;= operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.Operators.vb" region="OperatorLessThanOrEqualTo" lang="vbnet" title="The following example shows how to use the &lt;= operator."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector2D.Item(System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="Index" lang="cs" title="The following example shows how to use the index property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="Index" lang="vbnet" title="The following example shows how to use the index property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector2D.X">
            <summary>
            Gets or sets the x dimension
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="NamedDimensions" lang="cs" title="The following example shows how to use the X property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="NamedDimensions" lang="vbnet" title="The following example shows how to use the X property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector2D.Y">
            <summary>
            Gets or sets the y dimension
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="NamedDimensions" lang="cs" title="The following example shows how to use the Y property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="NamedDimensions" lang="vbnet" title="The following example shows how to use the Y property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector2D.UnitVector">
            <summary>
            Creates a unit <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.
            </summary>
            <returns>A unit <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="GetUnitVector" lang="cs" title="The following example shows how to use the UnitVector property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="GetUnitVector" lang="vbnet" title="The following example shows how to use the UnitVector property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector2D.ZeroVector">
            <summary>
            Creates zeroed <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.
            </summary>
            <returns>A zeroed <see cref="T:NGenerics.DataStructures.Mathematical.Vector2D"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector2DExamples.cs" region="GetZeroVector" lang="cs" title="The following example shows how to use the ZeroVector property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector2DExamples.vb" region="GetZeroVector" lang="vbnet" title="The following example shows how to use the ZeroVector property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.Vector3D">
            <summary>
            A Vector data structure.
            </summary>
            <summary>
            A Vector data structure.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.#ctor">
            <inheritdoc/>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.#ctor(System.Double,System.Double,System.Double)">
            <inheritdoc/>
            <param name="x">The X dimension.</param>
            <param name="y">The Y dimension.</param>
            <param name="z">The Z dimension.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="ConstructorInitValues" lang="cs" title="The following example shows how to use the initialize values constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="ConstructorInitValues" lang="vbnet" title="The following example shows how to use the initialize values constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.AbsoluteMaximum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="AbsoluteMaximum" lang="cs" title="The following example shows how to use the AbsoluteMaximum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="AbsoluteMaximum" lang="vbnet" title="The following example shows how to use the AbsoluteMaximum method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.AbsoluteMaximumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="AbsoluteMaximumIndex" lang="cs" title="The following example shows how to use the AbsoluteMaximumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="AbsoluteMaximumIndex" lang="vbnet" title="The following example shows how to use the AbsoluteMaximumIndex method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.AbsoluteMinimum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="AbsoluteMinimum" lang="cs" title="The following example shows how to use the AbsoluteMinimum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="AbsoluteMinimum" lang="vbnet" title="The following example shows how to use the AbsoluteMinimum method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.AbsoluteMinimumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="AbsoluteMinimumIndex" lang="cs" title="The following example shows how to use the AbsoluteMinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="AbsoluteMinimumIndex" lang="vbnet" title="The following example shows how to use the AbsoluteMinimumIndex method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Add(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="AddDouble" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="AddDouble" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Add(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Adds a <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to the current <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to add to this <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="AddVector" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="AddVector" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.AddSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.CloneInternal">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.CrossProduct(NGenerics.DataStructures.Mathematical.Vector2D)">
            <summary>
            Get the cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> and <paramref name="vector"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to calculate the cross product with.</param>
            <returns>The cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="CrossProduct3D" lang="cs" title="The following example shows how to use the CrossProduct method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="CrossProduct3D" lang="vbnet" title="The following example shows how to use the CrossProduct method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.CrossProduct(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Get the cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> and <paramref name="vector"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to calculate the cross product with.</param>
            <returns>The cross product of this <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="CrossProduct3D" lang="cs" title="The following example shows how to use the CrossProduct method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="CrossProduct3D" lang="vbnet" title="The following example shows how to use the CrossProduct method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.CrossProductSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Decrement">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Decrement" lang="cs" title="The following example shows how to use the Decrement method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Decrement" lang="vbnet" title="The following example shows how to use the Decrement method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.DeepClone">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Divide(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="DivideDouble" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="DivideDouble" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Divide(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Divide each dimension by a number.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to divide by.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="DivideVector" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="DivideVector" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.DivideSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.DotProduct(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Calculate the dot product.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to calculate the dot product with.</param>
            <returns>The dot product of the current instance and <paramref name="vector"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="DotProduct" lang="cs" title="The following example shows how to use the DotProduct method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="DotProduct" lang="vbnet" title="The following example shows how to use the DotProduct method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.DotProductSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Increment">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Increment" lang="cs" title="The following example shows how to use the Increment method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Increment" lang="vbnet" title="The following example shows how to use the Increment method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Magnitude">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Magnitude" lang="cs" title="The following example shows how to use the Increment method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Magnitude" lang="vbnet" title="The following example shows how to use the Increment method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Maximum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Maximum" lang="cs" title="The following example shows how to use the Maximum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Maximum" lang="vbnet" title="The following example shows how to use the Maximum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.MaximumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="MinimumIndex" lang="cs" title="The following example shows how to use the MinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="MinimumIndex" lang="vbnet" title="The following example shows how to use the MinimumIndex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Minimum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Minimum" lang="cs" title="The following example shows how to use the Minimum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Minimum" lang="vbnet" title="The following example shows how to use the Minimum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.MinimumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="MinimumIndex" lang="cs" title="The following example shows how to use the MinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="MinimumIndex" lang="vbnet" title="The following example shows how to use the MinimumIndex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Multiply(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="MultiplyDouble" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="MultiplyDouble" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Multiply(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Multiply the current <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> with another <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to multiply by.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="MultiplyVector" lang="cs" title="The following example shows how to use the Multiply method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="MultiplyVector" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.MultiplySafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Negate">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Negate" lang="cs" title="The following example shows how to use the Negate method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Negate" lang="vbnet" title="The following example shows how to use the Negate method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Normalize">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Normalize" lang="cs" title="The following example shows how to use the Normalize method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Normalize" lang="vbnet" title="The following example shows how to use the Normalize method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Product">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Product" lang="cs" title="The following example shows how to use the Product method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Product" lang="vbnet" title="The following example shows how to use the Product method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.SubtractSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Sum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Sum" lang="cs" title="The following example shows how to use the Sum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Sum" lang="vbnet" title="The following example shows how to use the Sum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.SetValuesSafe(System.Double[])">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Subtract(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="SubtractDouble" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="SubtractDouble" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Subtract(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Subtracts a <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> from the current instance.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to subtract from this <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="SubtractVector" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="SubtractVector" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.Swap(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Swap all the values with another <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.
            </summary>
            <param name="other">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to swap values with.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="other"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Swap" lang="cs" title="The following example shows how to use the Swap method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Swap" lang="vbnet" title="The following example shows how to use the Swap method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.SwapSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.ToArray">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="ToArray" lang="cs" title="The following example shows how to use the ToArray method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="ToArray" lang="vbnet" title="The following example shows how to use the ToArray method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.ToMatrix">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="ToMatrix" lang="cs" title="The following example shows how to use the ToMatrix method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="ToMatrix" lang="vbnet" title="The following example shows how to use the ToMatrix method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Division(NGenerics.DataStructures.Mathematical.Vector3D,System.Double)">
            <summary>
            Overload of the operator /
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the division.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorDivideDouble" lang="cs" title="The following example shows how to use the divide operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorDivideDouble" lang="vbnet" title="The following example shows how to use the divide operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Division(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator /
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the division.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorDivideVector" lang="cs" title="The following example shows how to use the divide operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorDivideVector" lang="vbnet" title="The following example shows how to use the divide operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Multiply(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorMultiplyVector" lang="cs" title="The following example shows how to use the multiply operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorMultiplyVector" lang="vbnet" title="The following example shows how to use the multiply operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Multiply(NGenerics.DataStructures.Mathematical.Vector3D,System.Double)">
            <summary>
            Overload of the operator * 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the multiplication.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorMultiplyDouble" lang="cs" title="The following example shows how to use the multiply operator overload."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorMultiplyDouble" lang="vbnet" title="The following example shows how to use the multiply operator overload."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Addition(NGenerics.DataStructures.Mathematical.Vector3D,System.Double)">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorPlusDouble" lang="cs" title="The following example shows how to use the plus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorPlusDouble" lang="vbnet" title="The following example shows how to use the plus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Addition(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator + 
            </summary>
            <param name="left">The left hand side</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorPlusVector" lang="cs" title="The following example shows how to use the plus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorPlusVector" lang="vbnet" title="The following example shows how to use the plus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Increment(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator ++
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorIncrement" lang="cs" title="The following example shows how to use the increment operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorIncrement" lang="vbnet" title="The following example shows how to use the increment operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Subtraction(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorSubtractVector" lang="cs" title="The following example shows how to use the minus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorSubtractVector" lang="vbnet" title="The following example shows how to use the minus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Subtraction(NGenerics.DataStructures.Mathematical.Vector3D,System.Double)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns>The result of the subtraction.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorSubtractDouble" lang="cs" title="The following example shows how to use the minus operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorSubtractDouble" lang="vbnet" title="The following example shows how to use the minus operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_UnaryNegation(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator - 
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the negation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorNegate" lang="cs" title="The following example shows how to use the negate operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorNegate" lang="vbnet" title="The following example shows how to use the negate operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Decrement(NGenerics.DataStructures.Mathematical.Vector3D)">
            <summary>
            Overload of the operator --
            </summary>
            <param name="right">The right hand side.</param>
            <returns>The result of the addition.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorIncrement" lang="cs" title="The following example shows how to use the decrement operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorIncrement" lang="vbnet" title="The following example shows how to use the decrement operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Implicit(NGenerics.DataStructures.Mathematical.Vector3D)~NGenerics.DataStructures.Mathematical.Matrix">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/>. 
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> to convert.</param>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorToMatrix" lang="cs" title="The following example shows how to use the convert to matrix operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorToMatrix" lang="vbnet" title="The following example shows how to use the convert to matrix operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_Explicit(NGenerics.DataStructures.General.ObjectMatrix{System.Double})~NGenerics.DataStructures.Mathematical.Vector3D">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>. 
            </summary>
            <param name="matrix">The <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> to convert.</param>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.InvalidCastException"><paramref name="matrix"/> has more than 1 column.</exception>
            <exception cref="T:System.InvalidCastException"><paramref name="matrix"/> has more than 3 rows.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorFromMatrix" lang="cs" title="The following example shows how to use the convert from matrix operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorFromMatrix" lang="vbnet" title="The following example shows how to use the convert from matrix operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_GreaterThan(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> is greater than another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is greater than <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorGreaterThan" lang="cs" title="The following example shows how to use the &gt; operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorGreaterThan" lang="vbnet" title="The following example shows how to use the &gt; operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_LessThan(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> is less than another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is less than <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorLessThan" lang="cs" title="The following example shows how to use the &lt; operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorLessThan" lang="vbnet" title="The following example shows how to use the &lt; operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_GreaterThanOrEqual(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> is greater than or equal to another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is greater than or equal to <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorGreaterThanOrEqualTo" lang="cs" title="The following example shows how to use the &gt;= operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorGreaterThanOrEqualTo" lang="vbnet" title="The following example shows how to use the &gt;= operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.Vector3D.op_LessThanOrEqual(NGenerics.DataStructures.Mathematical.Vector3D,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/> is less than or equal to another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is less than or equal to <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.Operators.cs" region="OperatorLessThanOrEqualTo" lang="cs" title="The following example shows how to use the &lt;= operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.Operators.vb" region="OperatorLessThanOrEqualTo" lang="vbnet" title="The following example shows how to use the &lt;= operator."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector3D.Item(System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="Index" lang="cs" title="The following example shows how to use the index property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="Index" lang="vbnet" title="The following example shows how to use the index property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector3D.X">
            <summary>
            Gets or sets the x dimension
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="NamedDimensions" lang="cs" title="The following example shows how to use the X property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="NamedDimensions" lang="vbnet" title="The following example shows how to use the X property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector3D.Y">
            <summary>
            Gets or sets the y dimension
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="NamedDimensions" lang="cs" title="The following example shows how to use the Y property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="NamedDimensions" lang="vbnet" title="The following example shows how to use the Y property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector3D.Z">
            <summary>
            Gets or sets the z dimension
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="NamedDimensions" lang="cs" title="The following example shows how to use the Z property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="NamedDimensions" lang="vbnet" title="The following example shows how to use the Z property."/>
            </example> 
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector3D.ZeroVector">
            <summary>
            Creates zeroed <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.
            </summary>
            <returns>A zeroed <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="GetZeroVector" lang="cs" title="The following example shows how to use the ZeroVector property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="GetZeroVector" lang="vbnet" title="The following example shows how to use the ZeroVector property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.Vector3D.UnitVector">
            <summary>
            Creates unit <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.
            </summary>
            <returns>A unit <see cref="T:NGenerics.DataStructures.Mathematical.Vector3D"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\Vector3DExamples.cs" region="GetUnitVector" lang="cs" title="The following example shows how to use the ZeroVector property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\Vector3DExamples.vb" region="GetUnitVector" lang="vbnet" title="The following example shows how to use the ZeroVector property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Mathematical.VectorN">
            <summary>
            A Vector data structure.
            </summary>
            <summary>
            A Vector data structure.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.#ctor(System.Int32)">
            <inheritdoc/>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.AbsoluteMaximum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="AbsoluteMaximum" lang="cs" title="The following example shows how to use the AbsoluteMaximum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="AbsoluteMaximum" lang="vbnet" title="The following example shows how to use the AbsoluteMaximum method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.AbsoluteMaximumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="AbsoluteMaximumIndex" lang="cs" title="The following example shows how to use the AbsoluteMaximumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="AbsoluteMaximumIndex" lang="vbnet" title="The following example shows how to use the AbsoluteMaximumIndex method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.AbsoluteMinimum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="AbsoluteMinimum" lang="cs" title="The following example shows how to use the AbsoluteMinimum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="AbsoluteMinimum" lang="vbnet" title="The following example shows how to use the AbsoluteMinimum method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.AbsoluteMinimumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="AbsoluteMinimumIndex" lang="cs" title="The following example shows how to use the AbsoluteMinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="AbsoluteMinimumIndex" lang="vbnet" title="The following example shows how to use the AbsoluteMinimumIndex method."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.AddSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Add(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="AddDouble" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="AddDouble" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.CrossProductSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Decrement">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Decrement" lang="cs" title="The following example shows how to use the Decrement method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Decrement" lang="vbnet" title="The following example shows how to use the Decrement method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.DeepClone">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.DivideSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Divide(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="DivideDouble" lang="cs" title="The following example shows how to use the Divide method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="DivideDouble" lang="vbnet" title="The following example shows how to use the Divide method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.DotProductSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.GetUnitVector(System.Int32)">
            <summary>
            Creates zeroed <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/>.
            </summary>
            <param name="dimensionCount">The number of dimensions.</param>
            <returns>A zeroed <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/>.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="dimensionCount"/> is less than 0.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="GetUnitVector" lang="cs" title="The following example shows how to use the GetZeroVector method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="GetUnitVector" lang="vbnet" title="The following example shows how to use the GetZeroVector method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.GetZeroVector(System.Int32)">
            <summary>
            Creates zeroed <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/>.
            </summary>
            <param name="dimensionCount">The number of dimensions.</param>
            <returns>A zeroed <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/>.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="dimensionCount"/> is less than 0.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="GetZeroVector" lang="cs" title="The following example shows how to use the GetZeroVector method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="GetZeroVector" lang="vbnet" title="The following example shows how to use the GetZeroVector method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Increment">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Increment" lang="cs" title="The following example shows how to use the Increment method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Increment" lang="vbnet" title="The following example shows how to use the Increment method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Magnitude">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Magnitude" lang="cs" title="The following example shows how to use the Magnitude method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Magnitude" lang="vbnet" title="The following example shows how to use the Magnitude method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.MaximumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Maximum" lang="cs" title="The following example shows how to use the Maximum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Maximum" lang="vbnet" title="The following example shows how to use the Maximum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.MinimumIndex">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="MinimumIndex" lang="cs" title="The following example shows how to use the MinimumIndex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="MinimumIndex" lang="vbnet" title="The following example shows how to use the MinimumIndex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.MultiplySafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Multiply(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="MultiplyDouble" lang="cs" title="The following example shows how to use the Multiply method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="MultiplyDouble" lang="vbnet" title="The following example shows how to use the Multiply method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Negate">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Negate" lang="cs" title="The following example shows how to use the Negate method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Negate" lang="vbnet" title="The following example shows how to use the Negate method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Normalize">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Normalize" lang="cs" title="The following example shows how to use the Normalize method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Normalize" lang="vbnet" title="The following example shows how to use the Normalize method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Product">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Product" lang="cs" title="The following example shows how to use the Product method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Product" lang="vbnet" title="The following example shows how to use the Product method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Sum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Sum" lang="cs" title="The following example shows how to use the Sum method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Sum" lang="vbnet" title="The following example shows how to use the Sum method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.SubtractSafe(NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Subtract(System.Double)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="SubtractDouble" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="SubtractDouble" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.Swap(NGenerics.DataStructures.Mathematical.VectorN)">
            <summary>
            Swap all the values with another <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>.
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/> to swap value with.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException">The <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of <paramref name="vector"/> does not equal the <see cref="P:NGenerics.DataStructures.Mathematical.IVector`1.DimensionCount"/> of the current instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Swap" lang="cs" title="The following example shows how to use the Swap method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Swap" lang="vbnet" title="The following example shows how to use the Swap method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.ToArray">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="ToArray" lang="cs" title="The following example shows how to use the ToArray method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="ToArray" lang="vbnet" title="The following example shows how to use the ToArray method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.ToMatrix">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="ToMatrix" lang="cs" title="The following example shows how to use the ToMatrix method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="ToMatrix" lang="vbnet" title="The following example shows how to use the ToMatrix method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.op_Implicit(NGenerics.DataStructures.Mathematical.VectorN)~NGenerics.DataStructures.Mathematical.Matrix">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/>. 
            </summary>
            <param name="vector">The <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/> to convert.</param>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.Matrix"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vector"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.Operators.cs" region="OperatorToMatrix" lang="cs" title="The following example shows how to use the convert to matrix operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.Operators.vb" region="OperatorToMatrix" lang="vbnet" title="The following example shows how to use the convert to matrix operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.op_Explicit(NGenerics.DataStructures.General.ObjectMatrix{System.Double})~NGenerics.DataStructures.Mathematical.VectorN">
            <summary>
            Copies the elements of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> to a new <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/>. 
            </summary>
            <param name="matrix">The <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/> to convert.</param>
            <returns>A <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/> array containing copies of the elements of the <see cref="T:NGenerics.DataStructures.General.ObjectMatrix`1"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="matrix"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.InvalidCastException"><paramref name="matrix"/> has more than 1 column.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.Operators.cs" region="OperatorFromMatrix" lang="cs" title="The following example shows how to use the convert from matrix operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.Operators.vb" region="OperatorFromMatrix" lang="vbnet" title="The following example shows how to use the convert from matrix operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.op_GreaterThan(NGenerics.DataStructures.Mathematical.VectorN,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/> is greater than another specified <see cref="T:NGenerics.DataStructures.Mathematical.VectorBase`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is greater than <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.Operators.cs" region="OperatorGreaterThan" lang="cs" title="The following example shows how to use the &gt; operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.Operators.vb" region="OperatorGreaterThan" lang="vbnet" title="The following example shows how to use the &gt; operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.op_LessThan(NGenerics.DataStructures.Mathematical.VectorN,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/> is less than another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is less than <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.Operators.cs" region="OperatorLessThan" lang="cs" title="The following example shows how to use the &lt; operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.Operators.vb" region="OperatorLessThan" lang="vbnet" title="The following example shows how to use the &lt; operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.op_GreaterThanOrEqual(NGenerics.DataStructures.Mathematical.VectorN,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/> is greater than or equal to another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is greater than or equal to <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.Operators.cs" region="OperatorGreaterThanOrEqualTo" lang="cs" title="The following example shows how to use the &gt;= operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.Operators.vb" region="OperatorGreaterThanOrEqualTo" lang="vbnet" title="The following example shows how to use the &gt;= operator."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Mathematical.VectorN.op_LessThanOrEqual(NGenerics.DataStructures.Mathematical.VectorN,NGenerics.DataStructures.Mathematical.IVector{System.Double})">
            <summary>
            Determines whether one specified <see cref="T:NGenerics.DataStructures.Mathematical.VectorN"/> is less than or equal to another specified <see cref="T:NGenerics.DataStructures.Mathematical.IVector`1"/>. 
            </summary>
            <param name="left">The left hand side.</param>
            <param name="right">The right hand side.</param>
            <returns><see langword="true"/> if the <paramref name="left"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/> is less than or equal to <paramref name="right"/>s <see cref="M:NGenerics.DataStructures.Mathematical.IVector`1.Magnitude"/>; otherwise, <see langword="false"/>.</returns>
             <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception> 
             <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.Operators.cs" region="OperatorLessThanOrEqualTo" lang="cs" title="The following example shows how to use the &lt;= operator."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.Operators.vb" region="OperatorLessThanOrEqualTo" lang="vbnet" title="The following example shows how to use the &lt;= operator."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Mathematical.VectorN.Item(System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Mathematical\VectorNExamples.cs" region="Index" lang="cs" title="The following example shows how to use the index property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Mathematical\VectorNExamples.vb" region="Index" lang="vbnet" title="The following example shows how to use the index property."/>
            </example> 
        </member>
        <member name="T:NGenerics.DataStructures.Queues.ClassicPriorityQueue`1">
            <summary>
            
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Queues.PriorityQueue`2">
            <summary>
            An implementation of a Priority Queue (can be <see cref="F:NGenerics.DataStructures.Queues.PriorityQueueType.Minimum"/> or <see cref="F:NGenerics.DataStructures.Queues.PriorityQueueType.Maximum"/>).
            </summary>
            <typeparam name="TPriority">The type of the priority in the <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/>.</typeparam>
            <typeparam name="TValue">The type of the elements in the <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/>.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Queues.IQueue`1">
            <summary>
            A queue interface.
            </summary>
            <typeparam name="T">The type of the elements in the queue.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IQueue`1.Enqueue(`0)">
            <summary>
            Enqueues the item at the back of the queue.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IQueue`1.Dequeue">
            <summary>
            Dequeues the item at the front of the queue.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.Deque`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IQueue`1.Peek">
            <summary>
            Peeks at the item in the front of the queue, without removing it.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.Deque`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.#ctor(NGenerics.DataStructures.Queues.PriorityQueueType)">
            <param name="queueType">Type of the queue.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.#ctor(NGenerics.DataStructures.Queues.PriorityQueueType,System.Collections.Generic.IComparer{`1})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.#ctor(NGenerics.DataStructures.Queues.PriorityQueueType,System.Comparison{`1})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/> class.
            </summary>
            <param name="queueType">Type of the queue.</param>
            <param name="comparison">The comparison.</param>
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Enqueue(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Enqueue" lang="cs" title="The following example shows how to use the Enqueue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Enqueue" lang="vbnet" title="The following example shows how to use the Enqueue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Enqueue(`0,`1)">
            <summary>
            Enqueues the specified item.
            </summary>
            <param name="item">The item.</param>
            <param name="priority">The priority.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="EnqueuePriority" lang="cs" title="The following example shows how to use the Enqueue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="EnqueuePriority" lang="vbnet" title="The following example shows how to use the Enqueue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Dequeue">
            <summary>
            Dequeues the item at the front of the queue.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Dequeue" lang="cs" title="The following example shows how to use the Dequeue method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Dequeue" lang="vbnet" title="The following example shows how to use the Dequeue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Peek">
            <summary>
            Peeks at the item in the front of the queue, without removing it.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Peek" lang="cs" title="The following example shows how to use the Peek method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Peek" lang="vbnet" title="The following example shows how to use the Peek method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Peek(`1@)">
            <summary>
            Peeks at the item in the front of the queue, without removing it.
            </summary>
            <param name="priority">The priority of the item.</param>
            <returns>The item at the front of the queue.</returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="PeekPriority" lang="cs" title="The following example shows how to use the Peek method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="PeekPriority" lang="vbnet" title="The following example shows how to use the Peek method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Add(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Add(`0,`1)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <param name="priority">The priority of the item.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="AddPriority" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="AddPriority" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Remove(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.GetKeyEnumerator">
            <summary>
            Returns an enumerator that iterates through the keys in the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the keys in the collection.</returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="GetKeyEnumerator" lang="cs" title="The following example shows how to use the GetKeyEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="GetKeyEnumerator" lang="vbnet" title="The following example shows how to use the GetKeyEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Dequeue(`1@)">
            <summary>
            Dequeues the item from the head of the queue.
            </summary>
            <param name="priority">The priority of the item to dequeue.</param>
            <returns>The item at the head of the queue.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/> is empty.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="DequeueWithPriority" lang="cs" title="The following example shows how to use the Dequeue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="DequeueWithPriority" lang="vbnet" title="The following example shows how to use the Dequeue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.DequeueItem(`1@)">
            <summary>
            Dequeues the item at the front of the queue.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Dequeue"/> or <see cref="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Dequeue(`1@)"/> methods.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Remove(`0,`1@)">
            <summary>
            Removes the first occurrence of the specified item from the property queue.
            </summary>
            <param name="item">The item to remove.</param>
            <param name="priority">The priority associated with the item.</param>
            <returns><c>true</c> if the item exists in the <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/> and has been removed; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.RemoveItem(`0,`1@)">
            <summary>
            Removes the item.
            </summary>
            <param name="item">The item to remove</param>
            <param name="priority">The priority of the item that was removed.</param>
            <returns>An indication of whether the item was found, and removed.</returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Remove(`0,`1@)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.RemovePriorityGroup(`1)">
            <summary>
            Removes the items with the specified priority.
            </summary>
            <param name="priority">The priority.</param>
            <returns><c>true</c> if the priority exists in the <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/> and has been removed; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.RemoveItems(`1)">
            <summary>
            Removes the items from the collection with the specified priority.
            </summary>
            <param name="priority">The priority to search for.</param>
            <returns>An indication of whether items were found having the specified priority.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.GetPriorityGroup(`1)">
            <summary>
            Removes the items with the specified priority.
            </summary>
            <param name="priority">The priority.</param>
            <returns>The items with the specified priority.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.AddPriorityGroup(System.Collections.Generic.IList{`0},`1)">
            <summary>
            Adds the specified items to the priority queue with the specified priority.
            </summary>
            <param name="items">The items.</param>
            <param name="priority">The priority.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="items"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.AddPriorityGroupItem(System.Collections.Generic.IList{`0},`1)">
            <summary>
            Adds the specified items to the priority queue with the specified priority.
            </summary>
            <param name="items">The items.</param>
            <param name="priority">The priority.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.PriorityQueue`2.AddPriorityGroup(System.Collections.Generic.IList{`0},`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.AddItem(`0,`1)">
            <summary>
            Adds the item to the queue.
            </summary>
            <param name="item">The item to add.</param>
            <param name="priority">The priority of the item.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Add(`0,`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.PriorityQueue`2.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.CheckTreeNotEmpty">
            <summary>
            Checks if the list is not empty, and if it is, throw an exception.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.PriorityQueue`2.GetNextItem">
            <summary>
            Gets the next item.
            </summary>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.PriorityQueue`2.IsReadOnly">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.PriorityQueue`2.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.PriorityQueue`2.DefaultPriority">
            <summary>
            Gets or sets the default priority.
            </summary>
            <value>The default priority.</value>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.ClassicPriorityQueue`1.#ctor(NGenerics.DataStructures.Queues.PriorityQueueType)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Queues.ClassicPriorityQueue`1"/> class.
            </summary>
            <param name="queueType">Type of the queue.</param>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\PriorityQueueExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\PriorityQueueExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1">
            <summary>
            A base class for Binary Search Trees that store a single value in each node.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.ISearchTree`1">
            <summary>
            An interface for Search Trees that mimic a dictionary.
            </summary>
            <typeparam name="T">The type of element to hold in the tree.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.ISearchTree`1.DepthFirstTraversal(NGenerics.Patterns.Visitor.OrderedVisitor{`0})">
            <summary>
            Performs a depth first traversal on the search tree.
            </summary>
            <param name="visitor">The visitor to use.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="visitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="DepthFirstTraversal" lang="cs" title="The following example shows how to use the DepthFirstTraversal method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="DepthFirstTraversal" lang="vbnet" title="The following example shows how to use the DepthFirstTraversal method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.ISearchTree`1.GetOrderedEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="GetOrderedEnumerator" lang="cs" title="The following example shows how to use the GetOrderedEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="GetOrderedEnumerator" lang="vbnet" title="The following example shows how to use the GetOrderedEnumerator method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ISearchTree`1.Maximum">
            <summary>
            Gets the largest item in the tree.
            </summary>
            <value>The largest item in the tree.</value>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Trees.ISearchTree`1"/> is empty.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ISearchTree`1.Minimum">
            <summary>
            Gets the smallest item in the tree.
            </summary>
            <value>The smallest item in the tree.</value>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Trees.ISearchTree`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1"/> class.
            </summary>
            <param name="comparer">The comparer to use when comparing items.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.#ctor(System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2"/> class.
            </summary>
            <param name="comparison">The comparison.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.FindNode(`0)">
            <summary>
            Finds the node containing the specified data key.
            </summary>
            <param name="item">The item.</param>
            <returns>
            The node with the specified key if found.  If the key is not in the tree, this method returns null.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.FindNode``1(``0,NGenerics.DataStructures.Trees.BinarySearchTreeBase{`0}.CustomComparison{``0})">
            <summary>
            Finds the node that matches the custom delegate.
            </summary>
            <typeparam name="TSearch">The type of the search.</typeparam>
            <param name="value">The value.</param>
            <param name="customComparison">The custom comparison.</param>
            <returns>The item if  found, else null.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.RemoveItem(`0)">
            <summary>
            Removes the item from the tree.
            </summary>
            <param name="item">The item to remove.</param>
            <returns>An indication of whether the item has been removed from the tree.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.AddItem(`0)">
            <summary>
            Adds the item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.FindMaximumNode">
            <summary>
            Find the maximum node.
            </summary>
            <returns>The maximum node.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.FindMinimumNode">
            <summary>
            Find the minimum node.
            </summary>
            <returns>The minimum node.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.FindMaximumNode(NGenerics.DataStructures.Trees.BinaryTree{`0})">
            <summary>
            Finds the maximum node.
            </summary>
            <param name="startNode">The start node.</param>
            <returns>The maximum node below this node.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.FindMinimumNode(NGenerics.DataStructures.Trees.BinaryTree{`0})">
            <summary>
            Finds the minimum node.
            </summary>
            <param name="startNode">The start node.</param>
            <returns>The minimum node below this node.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.VisitNode(NGenerics.DataStructures.Trees.BinaryTree{`0},NGenerics.Patterns.Visitor.OrderedVisitor{`0})">
            <summary>
            Visits the node in an in-order fashion.
            </summary>
            <param name="node">The node.</param>
            <param name="visitor">The visitor.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.DepthFirstTraversal(NGenerics.Patterns.Visitor.OrderedVisitor{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.GetOrderedEnumerator">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Remove(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Add(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="AddKeyValuePair" lang="cs" title="The following example shows how to use the AddKeyValuePair method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="AddKeyValuePair" lang="vbnet" title="The following example shows how to use the AddKeyValuePair method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Comparer">
            <summary>
            Gets the comparer.
            </summary>
            <value>The comparer.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Tree">
            <summary>
            Gets or sets the <see cref="T:NGenerics.DataStructures.Trees.BinaryTree`1"/> for this <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2"/>.
            </summary>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Minimum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Minimum" lang="cs" title="The following example shows how to use the Minimum property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Minimum" lang="vbnet" title="The following example shows how to use the Minimum property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Maximum">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Maximum" lang="cs" title="The following example shows how to use the Maximum property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Maximum" lang="vbnet" title="The following example shows how to use the Maximum property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.IsEmpty">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.IsReadOnly">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`1.CustomComparison`1">
            <summary>
            A custom comparison between some search value and the type of item that is kept in the tree.
            </summary>
            <typeparam name="TSearch">The type of the search.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.ISearchTreeDictionary`2">
            <summary>
            An interface for Search Trees that mimic a dictionary.
            </summary>
            <typeparam name="TKey">The type of the keys in the <see cref="T:NGenerics.DataStructures.Trees.ISearchTreeDictionary`2"/>.</typeparam>
            <typeparam name="TValue">The type of the values in the <see cref="T:NGenerics.DataStructures.Trees.ISearchTreeDictionary`2"/>.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2">
            <summary>
            A base class for all binary trees that use an algorithm to speed access of nodes.
            </summary>
            <typeparam name="TKey">The type of the keys in the tree.</typeparam>
            <typeparam name="TValue">The type of the values in the tree.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2"/> class.
            </summary>
            <param name="comparer">The comparer to use when comparing items.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.#ctor(System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2"/> class.
            </summary>
            <param name="comparison">The comparison.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.FindNode(`0)">
            <summary>
            Finds the node containing the specified data key.
            </summary>
            <param name="key">The key to search for.</param>
            <returns>The node with the specified key if found.  If the key is not in the tree, this method returns null.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.ManipulateKeys(System.Func{`0,`0})">
            <summary>
            Manipulates the keys.
            </summary>
            <param name="manipulator">The manipulator.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.Remove(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.Add(`0,`1)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.ContainsKey(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="ContainsKey" lang="cs" title="The following example shows how to use the ContainsKey method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="ContainsKey" lang="vbnet" title="The following example shows how to use the ContainsKey method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.TryGetValue(`0,`1@)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="TryGetValue" lang="cs" title="The following example shows how to use the TryGetValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="TryGetValue" lang="vbnet" title="The following example shows how to use the TryGetValue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Keys" lang="cs" title="The following example shows how to use the Keys property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Keys" lang="vbnet" title="The following example shows how to use the Keys property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Values" lang="cs" title="The following example shows how to use the Values property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Values" lang="vbnet" title="The following example shows how to use the Values property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinarySearchTreeBase`2.Item(`0)">
            <summary>
            Gets or sets the value with the specified key.
            </summary>
            <value>The key of the item to set or get.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.BinarySearchTree`2">
            <summary>
            An implementation of a Binary Search Tree data structure.
            </summary>
            <typeparam name="TKey">The type of the keys in the tree.</typeparam>
            <typeparam name="TValue">The type of the values in the tree.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.#ctor">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.#ctor(System.Comparison{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.FindNode(`0,NGenerics.DataStructures.Trees.BinaryTree{System.Collections.Generic.KeyValuePair{`0,`1}}@)">
            <summary>
            Finds the node containing the specified data item.
            </summary>
            <param name="key">The key.</param>
            <param name="parent">The parent node of the item found.</param>
            <returns>The node in the tree with the specified key if found, otherwise null.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.FindMaximumNode(NGenerics.DataStructures.Trees.BinaryTree{System.Collections.Generic.KeyValuePair{`0,`1}},NGenerics.DataStructures.Trees.BinaryTree{System.Collections.Generic.KeyValuePair{`0,`1}}@)">
            <summary>
            Finds the maximum node.
            </summary>
            <param name="startNode">The start node.</param>
            <param name="parent">The parent of the node found.</param>
            <returns>The maximum node underneath the node specified.  If the node specified is a leaf node, it is returned.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.AddItem(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinarySearchTree`2.RemoveItem(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.DataStructures.Trees.BinaryTree`1">
            <summary>
            An implementation of a Binary Tree data structure.
            </summary>
            <typeparam name="T">The type of elements in the <see cref="T:NGenerics.DataStructures.Trees.BinaryTree`1"/>.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.ITree`1">
            <summary>
            An interface for the tree data structure
            </summary>
            <typeparam name="T">The type of elements in the tree.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.ITree`1.Add(NGenerics.DataStructures.Trees.ITree{`0})">
            <summary>
            Adds the specified child to the tree.
            </summary>
            <param name="child">The child to add..</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.ITree`1.GetChild(System.Int32)">
            <summary>
            Gets the child at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>The child at the specified index.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.ITree`1.Remove(NGenerics.DataStructures.Trees.ITree{`0})">
            <summary>
            Removes the specified child.
            </summary>
            <param name="child">The child.</param>
            <returns>An indication of whether the child was found (and removed) from this tree.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.ITree`1.FindNode(System.Predicate{`0})">
            <summary>
            Finds the node for which the given predicate holds true.
            </summary>
            <param name="condition">The condition to test on the data item.</param>
            <returns>The fist node that matches the condition if found, otherwise null.</returns>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ITree`1.Data">
            <summary>
            Gets the data held in this node.
            </summary>
            <value>The data.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ITree`1.Degree">
            <summary>
            Gets the degree of this node.
            </summary>
            <value>The degree of this node.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ITree`1.Height">
            <summary>
            Gets the height of this tree.
            </summary>
            <value>The height of this tree.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ITree`1.IsLeafNode">
            <summary>
            Gets a value indicating whether this instance is leaf node.
            </summary>
            <value>
            	<c>true</c> if this instance is leaf node; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.ITree`1.Parent">
            <summary>
            Gets the parent of the current node.
            </summary>
            <value>The parent of the current node.</value>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.#ctor(`0)">
            <param name="data">The data contained in this node.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.#ctor(`0,`0,`0)">
            <param name="data">The data.</param>
            <param name="left">The data of the left subtree.</param>
            <param name="right">The data of the right subtree.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.#ctor(`0,NGenerics.DataStructures.Trees.BinaryTree{`0},NGenerics.DataStructures.Trees.BinaryTree{`0})">
            <param name="data">The data contained in this node.</param>
            <param name="left">The left subtree.</param>
            <param name="right">The right subtree.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.#ctor(`0,NGenerics.DataStructures.Trees.BinaryTree{`0},NGenerics.DataStructures.Trees.BinaryTree{`0},System.Boolean)">
            <param name="data">The data contained in this node.</param>
            <param name="left">The left subtree.</param>
            <param name="right">The right subtree.</param>
            <param name="validateData"><see langword="true"/> to validate <paramref name="data"/>; otherwise <see langword="false"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.Contains(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.Add(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.Remove(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.Remove(NGenerics.DataStructures.Trees.BinaryTree{`0})">
            <summary>
            Removes the specified child.
            </summary>
            <param name="child">The child.</param>
            <returns>A value indicating whether the child was found (and removed) from this tree.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.Clear">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.NGenerics#DataStructures#Trees#ITree{T}#Add(NGenerics.DataStructures.Trees.ITree{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.NGenerics#DataStructures#Trees#ITree{T}#GetChild(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.NGenerics#DataStructures#Trees#ITree{T}#Remove(NGenerics.DataStructures.Trees.ITree{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.NGenerics#DataStructures#Trees#ITree{T}#FindNode(System.Predicate{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.FindNode(System.Predicate{`0})">
            <summary>
            Finds the node with the specified condition.  If a node is not found matching
            the specified condition, null is returned.
            </summary>
            <param name="condition">The condition to test.</param>
            <returns>The first node that matches the condition supplied.  If a node is not found, null is returned.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="condition"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.GetChild(System.Int32)">
            <summary>
            Gets the child at the specified index.
            </summary>
            <param name="index">The index of the child in question.</param>
            <returns>The child at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> does not equal 0 or 1.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.DepthFirstTraversal(NGenerics.Patterns.Visitor.OrderedVisitor{`0})">
            <summary>
            Performs a depth first traversal on this tree with the specified visitor.
            </summary>
            <param name="orderedVisitor">The ordered visitor.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="orderedVisitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.BreadthFirstTraversal(NGenerics.Patterns.Visitor.IVisitor{`0})">
            <summary>
            Performs a breadth first traversal on this tree with the specified visitor.
            </summary>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="visitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.RemoveLeft">
            <summary>
            Removes the left child.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.RemoveRight">
            <summary>
            Removes the left child.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.Add(NGenerics.DataStructures.Trees.BinaryTree{`0})">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="subtree">The subtree.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Trees.BinaryTree`1"/> is full.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="subtree"/> is null (Nothing in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.AddItem(NGenerics.DataStructures.Trees.BinaryTree{`0})">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="subtree">The subtree.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Trees.BinaryTree`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.FindMaximumChildHeight">
            <summary>
            Finds the maximum height between the child nodes.
            </summary>
            <returns>The maximum height of the tree between all paths from this node and all leaf nodes.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.BinaryTree`1.ToString">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.IsEmpty">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.IsFull">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Count">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.NGenerics#DataStructures#Trees#ITree{T}#Parent">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Parent">
            <summary>
            Gets the parent of the current node..
            </summary>
            <value>The parent of the current node.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Left">
            <summary>
            Gets or sets the left subtree.
            </summary>
            <value>The left subtree.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Right">
            <summary>
            Gets or sets the right subtree.
            </summary>
            <value>The right subtree.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Data">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Degree">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Height">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.IsLeafNode">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:NGenerics.DataStructures.Trees.BinaryTree`1"/> at the specified index.
            </summary>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.BinaryTree`1.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.DataStructures.Queues.CircularQueue`1">
            <summary>
            An implementation of a Circular Queue.
            </summary>
            <typeparam name="T">The type of the elements in the <see cref="T:NGenerics.DataStructures.Queues.CircularQueue`1"/>.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.#ctor(System.Int32)">
            <param name="capacity">The initial capacity of the list.</param>
            <exception cref="T:System.ArgumentException"><paramref name="capacity"/> is less than 1.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.Enqueue(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Enqueue" lang="cs" title="The following example shows how to use the Enqueue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Enqueue" lang="vbnet" title="The following example shows how to use the Enqueue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.EnqueueItem(`0)">
            <summary>
            Enqueues the item.
            </summary>
            <param name="item">The item to enqueue.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.CircularQueue`1.Enqueue(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.Dequeue">
            <summary>
            Dequeues the item at the front of the queue.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Dequeue" lang="cs" title="The following example shows how to use the Dequeue method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Dequeue" lang="vbnet" title="The following example shows how to use the Dequeue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.DequeueItem">
            <summary>
            Dequeues the item.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.CircularQueue`1.Dequeue"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.Peek">
            <summary>
            Peeks at the item in the front of the queue, without removing it.
            </summary>
            <returns>The item at the front of the queue.</returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Peek" lang="cs" title="The following example shows how to use the Peek method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Peek" lang="vbnet" title="The following example shows how to use the Peek method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear property."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.CircularQueue`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.Remove(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.RemoveItem(`0)">
            <summary>
            Removes the item.
            </summary>
            <param name="item">The item.</param>
            <returns>An indication of whether the item was found, and removed.</returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.CircularQueue`1.Remove(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.CircularQueue`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Queues.CircularQueue`1.IsEmpty">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.CircularQueue`1.IsFull">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="IsFull" lang="cs" title="The following example shows how to use the IsFull property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="IsFull" lang="vbnet" title="The following example shows how to use the IsFull property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.CircularQueue`1.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.CircularQueue`1.IsReadOnly">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.CircularQueue`1.Capacity">
            <summary>
            Gets the capacity.
            </summary>
            <value>The capacity.</value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\CircularQueueExamples.cs" region="Capacity" lang="cs" title="The following example shows how to use the Capacity property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\CircularQueueExamples.vb" region="Capacity" lang="vbnet" title="The following example shows how to use the Capacity property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Queues.Deque`1">
            <summary>
            A data structure much like a queue, except that you can enqueue and dequeue to both the head and the tail.
            </summary>
            <typeparam name="T">The type of the elements in the <see cref="T:NGenerics.DataStructures.Queues.Deque`1"/>.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.Queues.IDeque`1">
            <summary>
            An interface for a deque
            </summary>
            <typeparam name="T">The type of the elements in the deque.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IDeque`1.DequeueHead">
            <summary>
            Dequeues the head.
            </summary>
            <returns>The head of the deque.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.IDeque`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IDeque`1.DequeueTail">
            <summary>
            Dequeues the tail.
            </summary>
            <returns>The tail of the deque.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.IDeque`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IDeque`1.EnqueueHead(`0)">
            <summary>
            Enqueues the head.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.IDeque`1.EnqueueTail(`0)">
            <summary>
            Enqueues the tail.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.IDeque`1.Head">
            <summary>
            Gets the head.
            </summary>
            <value>The head.</value>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.IDeque`1"/> is empty.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.IDeque`1.Tail">
            <summary>
            Gets the tail.
            </summary>
            <value>The tail.</value>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.Queues.IDeque`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.#ctor">
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <param name="collection">A collection implementing the <see cref="T:System.Collections.Generic.IEnumerable`1"/> interface.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="ConstructorCollection" lang="cs" title="The following example shows how to use the collection constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="ConstructorCollection" lang="vbnet" title="The following example shows how to use the collection constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.EnqueueHead(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="EnqueueHead" lang="cs" title="The following example shows how to use the EnqueueHead method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="EnqueueHead" lang="vbnet" title="The following example shows how to use the EnqueueHead method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.EnqueueHeadItem(`0)">
            <summary>
            Enqueues the head.
            </summary>
            <param name="item">The item.</param>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.Deque`1.EnqueueHead(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.DequeueHead">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="DequeueHead" lang="cs" title="The following example shows how to use the DequeueHead method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="DequeueHead" lang="vbnet" title="The following example shows how to use the DequeueHead method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.DequeueHeadItem">
            <summary>
            Dequeues the head.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.Deque`1.DequeueHead"/> method.
            </remarks>
            <returns>The head of the deque.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.EnqueueTail(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="EnqueueTail" lang="cs" title="The following example shows how to use the EnqueueTail method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="EnqueueTail" lang="vbnet" title="The following example shows how to use the EnqueueTail method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.EnqueueTailItem(`0)">
            <summary>
            Enqueues the tail.
            </summary>
            <param name="item">The obj.</param>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.Deque`1.EnqueueTail(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.DequeueTail">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="DequeueTail" lang="cs" title="The following example shows how to use the DequeueTail method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="DequeueTail" lang="vbnet" title="The following example shows how to use the DequeueTail method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.DequeueTailItem">
            <summary>
            Dequeues the tail item.
            </summary>
            <returns>The item that was dequeued.</returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.Deque`1.DequeueTail"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Queues.Deque`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <inheritdoc/>
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <inheritdoc/>
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Queues.Deque`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Queues.Deque`1.Head">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="Head" lang="cs" title="The following example shows how to use the Head property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="Head" lang="vbnet" title="The following example shows how to use the Head property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.Deque`1.Tail">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="Tail" lang="cs" title="The following example shows how to use the Tail property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="Tail" lang="vbnet" title="The following example shows how to use the Tail property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.Deque`1.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.Deque`1.IsEmpty">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Queues.Deque`1.IsReadOnly">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Queues\DequeExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Queues\DequeExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.Edge`1">
            <summary>
            A class representing an edge in a graph.
            </summary>
            <typeparam name="T">The type of object the edge contains.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.Edge`1.#ctor(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0},System.Boolean)">
            <param name="fromVertex">From <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</param>
            <param name="toVertex">To <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</param>
            <param name="isDirected">if set to <c>true</c> [is directed].</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Edge`1.#ctor(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0},System.Double,System.Boolean)">
            <param name="fromVertex">From <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</param>
            <param name="toVertex">To <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</param>
            <param name="weight">The weight associated with the edge.</param>
            <param name="isDirected">if set to <c>true</c> [is directed].</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="fromVertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="toVertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="WeightedConstructor" lang="cs" title="The following example shows how to use the constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="WeightedConstructor" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Edge`1.GetPartnerVertex(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Gets the partner vertex in this <see cref="T:NGenerics.DataStructures.General.Edge`1"/> relationship.
            </summary>
            <param name="vertex">The <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</param>
            <returns>The partner of the <see cref="T:NGenerics.DataStructures.General.Vertex`1"/> specified in this <see cref="T:NGenerics.DataStructures.General.Edge`1"/> relationship.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="vertex"/> does not equal <see cref="P:NGenerics.DataStructures.General.Edge`1.FromVertex"/> or <see cref="P:NGenerics.DataStructures.General.Edge`1.ToVertex"/>.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="GetPartnerVertex" lang="cs" title="The following example shows how to use the GetPartnerVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="GetPartnerVertex" lang="vbnet" title="The following example shows how to use the GetPartnerVertex method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Edge`1.FromVertex">
            <summary>
            Gets the from <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.
            </summary>
            <value>The from <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="FromVertex" lang="cs" title="The following example shows how to use the FromVertex property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="FromVertex" lang="vbnet" title="The following example shows how to use the FromVertex property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Edge`1.ToVertex">
            <summary>
            Gets the to <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.
            </summary>
            <value>The to <see cref="T:NGenerics.DataStructures.General.Vertex`1"/>.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="ToVertex" lang="cs" title="The following example shows how to use the ToVertex property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="ToVertex" lang="vbnet" title="The following example shows how to use the ToVertex property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Edge`1.IsDirected">
            <summary>
            Gets a value indicating whether this <see cref="T:NGenerics.DataStructures.General.Edge`1"/> is directed.
            </summary>
            <value>
            	<c>true</c> if this edge is directed; otherwise, <c>false</c>.
            </value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="IsDirected" lang="cs" title="The following example shows how to use the IsDirected property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="IsDirected" lang="vbnet" title="The following example shows how to use the IsDirected property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Edge`1.Weight">
            <summary>
            Gets the weight associated with this <see cref="T:NGenerics.DataStructures.General.Edge`1"/>.
            </summary>
            <value>The weight associated with this <see cref="T:NGenerics.DataStructures.General.Edge`1"/>.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="Weight" lang="cs" title="The following example shows how to use the Weight property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="Weight" lang="vbnet" title="The following example shows how to use the Weight property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Edge`1.Tag">
            <summary>
            Gets or sets the tag object contained in the edge.
            </summary>
            <value>The tag object.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\EdgeExamples.cs" region="Tag" lang="cs" title="The following example shows how to use the Tag property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\EdgeExamples.vb" region="Tag" lang="vbnet" title="The following example shows how to use the Tag property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.GeneralTree`1">
            <summary>
            A general tree data structure that can hold any amount of nodes.
            </summary>
            <typeparam name="T">The type of elements in the <see cref="T:NGenerics.DataStructures.Trees.GeneralTree`1"/>.</typeparam>
        </member>
        <member name="T:NGenerics.Sorting.ISortable`1">
            <summary>
            An interface implemented that can be implemented by sortable collections.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
        </member>
        <member name="M:NGenerics.Sorting.ISortable`1.Sort(NGenerics.Sorting.ISorter{`0})">
            <summary>
            Sorts using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Sorting.ISortable`1.Sort(NGenerics.Sorting.ISorter{`0},NGenerics.Sorting.SortOrder)">
            <summary>
            Sorts using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="order">The order in which to sort.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Sorting.ISortable`1.Sort(NGenerics.Sorting.IComparisonSorter{`0},System.Comparison{`0})">
            <summary>
            Sorts using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="comparison">The comparison.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Sorting.ISortable`1.Sort(NGenerics.Sorting.IComparisonSorter{`0},System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.#ctor(`0)">
            <param name="data">The data held in this tree.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Contains(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Clear">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Add(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.InsertItem(System.Int32,NGenerics.DataStructures.Trees.GeneralTree{`0})">
            <summary>
            Inserts the item.
            </summary>
            <param name="index">The index to insert the item into.</param>
            <param name="item">The item to insert.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Trees.GeneralTree`1.Add(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Remove(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.RemoveItem(`0)">
            <summary>
            Removes the item form the tree.
            </summary>
            <param name="item">The item to remove.</param>
            <returns>An indication of whether the item was found, and removed.</returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Trees.GeneralTree`1.Remove(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.NGenerics#DataStructures#Trees#ITree{T}#Add(NGenerics.DataStructures.Trees.ITree{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.NGenerics#DataStructures#Trees#ITree{T}#GetChild(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.NGenerics#DataStructures#Trees#ITree{T}#Remove(NGenerics.DataStructures.Trees.ITree{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.NGenerics#DataStructures#Trees#ITree{T}#FindNode(System.Predicate{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.FindNode(System.Predicate{`0})">
            <summary>
            Finds the node with the specified condition.  If a node is not found matching
            the specified condition, null is returned.
            </summary>
            <param name="condition">The condition to test.</param>
            <returns>The first node that matches the condition supplied.  If a node is not found, null is returned.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="condition"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.GetChild(System.Int32)">
            <summary>
            Gets the child at the specified index.
            </summary>
            <param name="index">The index.</param>
            <returns>The child at the specified index.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.GetPath">
            <summary>
            Gets the path.
            </summary>
            <returns>The path found to this node.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.GetPath``1(System.Converter{NGenerics.DataStructures.Trees.GeneralTree{`0},``0})">
            <summary>
            Gets the path to the specified node.
            </summary>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="converter">The converter.</param>
            <returns>A list (of converted) General Trees that form the path to this node from the root.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.DepthFirstTraversal(NGenerics.Patterns.Visitor.OrderedVisitor{`0})">
            <summary>
            Performs a depth first traversal on this tree with the specified visitor.
            </summary>
            <param name="orderedVisitor">The ordered visitor.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="orderedVisitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.BreadthFirstTraversal(NGenerics.Patterns.Visitor.IVisitor{`0})">
            <summary>
            Performs a breadth first traversal on this tree with the specified visitor.
            </summary>
            <param name="visitor">The visitor.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Add(NGenerics.DataStructures.Trees.GeneralTree{`0})">
            <summary>
            Adds the child tree to this node.
            </summary>
            <param name="child">The child tree to add.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Remove(NGenerics.DataStructures.Trees.GeneralTree{`0})">
            <summary>
            Removes the specified child node from the tree.
            </summary>
            <param name="child">The child tree to remove.</param>
            <returns>A value indicating whether the child was found (and removed) from this tree.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.RemoveAt(System.Int32)">
            <summary>
            Removes the child at the specified index.
            </summary>
            <param name="index">The index.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.RemoveItem(System.Int32,NGenerics.DataStructures.Trees.GeneralTree{`0})">
            <summary>
            Removes the item from the tree.
            </summary>
            <param name="index">The index.</param>
            <param name="item">The item to remove.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.Trees.GeneralTree`1.RemoveAt(System.Int32)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.SortAllDescendants(NGenerics.Sorting.IComparisonSorter{NGenerics.DataStructures.Trees.GeneralTree{`0}},System.Comparison{NGenerics.DataStructures.Trees.GeneralTree{`0}})">
            <summary>
            Sorts all descendants using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="comparison">The comparison.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.SortAllDescendants(NGenerics.Sorting.IComparisonSorter{NGenerics.DataStructures.Trees.GeneralTree{`0}},System.Collections.Generic.IComparer{NGenerics.DataStructures.Trees.GeneralTree{`0}})">
            <summary>
            Sorts all descendants using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.SortAllDescendants(NGenerics.Sorting.ISorter{NGenerics.DataStructures.Trees.GeneralTree{`0}},NGenerics.Sorting.SortOrder)">
            <summary>
            Sorts all descendants using the specified sorter.
            </summary>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="order">The order in which to sort.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.GetPath``1(System.Converter{NGenerics.DataStructures.Trees.GeneralTree{`0},``0},System.Boolean)">
            <summary>
            Gets the path to the specified node.
            </summary>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="converter">The converter.</param>
            <param name="includeThis">if set to <c>true</c> include this node in the path.</param>
            <returns>A list (of converted) General Trees that form the path to this node from the root.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.FindMaximumChildHeight">
            <summary>
            Finds the maximum height between the child nodes.
            </summary>
            <returns>The maximum height of all paths between this node and all leaf nodes.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.NGenerics#Sorting#ISortable{NGenerics#DataStructures#Trees#GeneralTree{T}}#Sort(NGenerics.Sorting.ISorter{NGenerics.DataStructures.Trees.GeneralTree{`0}})">
            <inheritdoc/>
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Sort(NGenerics.Sorting.IComparisonSorter{NGenerics.DataStructures.Trees.GeneralTree{`0}},System.Comparison{NGenerics.DataStructures.Trees.GeneralTree{`0}})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Sort(NGenerics.Sorting.IComparisonSorter{NGenerics.DataStructures.Trees.GeneralTree{`0}},System.Collections.Generic.IComparer{NGenerics.DataStructures.Trees.GeneralTree{`0}})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.Sort(NGenerics.Sorting.ISorter{NGenerics.DataStructures.Trees.GeneralTree{`0}},NGenerics.Sorting.SortOrder)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.GeneralTree`1.ToString">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Count">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.IsEmpty">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.NGenerics#DataStructures#Trees#ITree{T}#Parent">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Ancestors">
            <summary>
            Retrieves the Ancestors of this node, in the same order
            as the path from the current node to the root.
            </summary>
            <value>The ancestors.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.ChildNodes">
            <summary>
            Gets the child nodes of this node.
            </summary>
            <value>The child nodes.</value>
            <remarks>The ChildNodes list returned is read-only.</remarks>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Parent">
            <summary>
            Gets the parent of this node.
            </summary>
            <value>The parent of this node.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Degree">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Height">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Data">
            <summary>
            Gets the data held in this node.
            </summary>
            <value>The data.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.IsLeafNode">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.Trees.GeneralTree`1.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:NGenerics.DataStructures.Trees.GeneralTree`1"/> at the specified index.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.General.Graph`1">
            <summary>
            An implementation of a Graph data structure.  The graph can be either
            directed or undirected.
            </summary>
            <typeparam name="T">The type of elements in the graph.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.#ctor(System.Boolean)">
            <param name="isDirected">if set to <c>true</c> [is directed].</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the Constructor method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the Constructor method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.System#Collections#Generic#ICollection{T}#Add(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="AddVertex" lang="cs" title="The following example shows how to use the AddVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="AddVertex" lang="vbnet" title="The following example shows how to use the AddVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.System#Collections#Generic#ICollection{T}#Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.DepthFirstTraversal(NGenerics.Patterns.Visitor.OrderedVisitor{NGenerics.DataStructures.General.Vertex{`0}},NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Performs a depth-first traversal, starting at the specified vertex.
            </summary>
            <param name="visitor">The visitor to use.  In-order traversal is not applicable in a graph.</param>
            <param name="startVertex">The vertex to start from.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="visitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="startVertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="DepthFirstTraversal" lang="cs" title="The following example shows how to use the DepthFirstTraversal method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="DepthFirstTraversal" lang="vbnet" title="The following example shows how to use the DepthFirstTraversal method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.IsCyclic">
            <summary>
            Determines whether this graph is cyclic (contains cycles).
            </summary>
            <returns>
            	<c>true</c> if this instance contains cycles; otherwise, <c>false</c>.
            </returns>
            <remarks>The topological sort algorithm is only valid for a directed, acyclic (cycle free) graph.</remarks>
            <remarks>In order to detect cycles, a topological sort of the graph is computed.</remarks>
            <exception cref="T:System.InvalidOperationException">The graph contains cycles.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="IsCyclic" lang="cs" title="The following example shows how to use the IsCyclic method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="IsCyclic" lang="vbnet" title="The following example shows how to use the IsCyclic method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.TopologicalSort">
            <summary>
            Computes the topological sort of the graph.
            </summary>
            <remarks>This operation is only defined on a directed graph.</remarks>
            <remarks>The topological sort algorithm is only valid for a directed, acyclic (cycle free) graph.</remarks>
            <returns>A list of vertices in topological order.</returns>
            <exception cref="T:System.InvalidOperationException">The graph contains cycles.</exception>
            <exception cref="T:System.ArgumentException">The graph is not directed.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="TopologicalSort" lang="cs" title="The following example shows how to use the TopologicalSort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="TopologicalSort" lang="vbnet" title="The following example shows how to use the TopologicalSort method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.TopologicalSortTraversal(NGenerics.Patterns.Visitor.IVisitor{NGenerics.DataStructures.General.Vertex{`0}})">
            <summary>
            Visits very vertex in the graph (provided it doesn't have cycles) in topological order.
            </summary>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentException">The graph is not directed.</exception>
            <remarks>The topological sort algorithm is only valid for a directed, acyclic (cycle free) graph.</remarks>
            <exception cref="T:System.InvalidOperationException">The graph contains cycles.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="TopologicalSortTraversal" lang="cs" title="The following example shows how to use the TopologicalSortTraversal method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="TopologicalSortTraversal" lang="vbnet" title="The following example shows how to use the TopologicalSortTraversal method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.BreadthFirstTraversal(NGenerics.Patterns.Visitor.IVisitor{NGenerics.DataStructures.General.Vertex{`0}},NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Performs a breadth-first traversal from the specified vertex.
            </summary>
            <param name="visitor">The visitor to use.</param>
            <param name="startVertex">The vertex to start from.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="visitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="startVertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="BreadthFirstTraversal" lang="cs" title="The following example shows how to use the BreadthFirstTraversal method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="BreadthFirstTraversal" lang="vbnet" title="The following example shows how to use the BreadthFirstTraversal method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.RemoveVertex(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Removes the specified vertex from the graph.
            </summary>
            <param name="vertex">The vertex to be removed.</param>
            <returns>A value indicating whether the vertex was found (and removed) in the graph.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="vertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="RemoveVertex" lang="cs" title="The following example shows how to use the RemoveVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="RemoveVertex" lang="vbnet" title="The following example shows how to use the RemoveVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.RemoveVertex(`0)">
            <summary>
            Removes the vertex with the specified value from the graph.
            </summary>
            <param name="item">The item.</param>
            <returns><c>true</c> if a vertex with the value specified was found (and removed) in the graph; otherwise <c>false</c>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="RemoveVertexFromValue" lang="cs" title="The following example shows how to use the RemoveVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="RemoveVertexFromValue" lang="vbnet" title="The following example shows how to use the RemoveVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.ContainsVertex(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Determines whether this graph contains the specified vertex.
            </summary>
            <param name="vertex">The vertex.</param>
            <returns>
            	<c>true</c> if this instance contains the specified vertex; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="ContainsVertex" lang="cs" title="The following example shows how to use the ContainsVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="ContainsVertex" lang="vbnet" title="The following example shows how to use the ContainsVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.ContainsVertex(`0)">
            <summary>
            Determines whether the specified item is contained in the graph.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specified item contains vertex; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="ContainsVertexValue" lang="cs" title="The following example shows how to use the ContainsVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="ContainsVertexValue" lang="vbnet" title="The following example shows how to use the ContainsVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.RemoveEdge(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Removes the edge specified from the graph.
            </summary>
            <param name="edge">The edge to be removed.</param>
            <returns>A value indicating whether the edge specified was found (and removed) from the graph.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="edge"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="RemoveEdge" lang="cs" title="The following example shows how to use the RemoveEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="RemoveEdge" lang="vbnet" title="The following example shows how to use the RemoveEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.RemoveEdge(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Removes the edge specified from the graph.
            </summary>
            <param name="from">The from vertex.</param>
            <param name="to">The to vertex.</param>
            <returns>A value indicating whether the edge between the two vertices supplied was found (and removed) from the graph.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="from"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="to"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="RemoveEdgeFromVertices" lang="cs" title="The following example shows how to use the RemoveEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="RemoveEdgeFromVertices" lang="vbnet" title="The following example shows how to use the RemoveEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.AddEdge(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Adds the specified edge to the graph.
            </summary>
            <param name="edge">The edge to add.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="edge"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><see cref="P:NGenerics.DataStructures.General.Edge`1.IsDirected"/> of <paramref name="edge"/> doe not equal <see cref="P:NGenerics.DataStructures.General.Edge`1.IsDirected"/> of the current instance.</exception>
            <exception cref="T:System.ArgumentException">Either <see cref="P:NGenerics.DataStructures.General.Edge`1.FromVertex"/> or <see cref="P:NGenerics.DataStructures.General.Edge`1.ToVertex"/> of <paramref name="edge"/> cannot be found the current instance.</exception>
            <exception cref="T:System.ArgumentException"><see cref="P:NGenerics.DataStructures.General.Edge`1.ToVertex"/> of <paramref name="edge"/> already exists on the current instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="AddEdge" lang="cs" title="The following example shows how to use the AddEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="AddEdge" lang="vbnet" title="The following example shows how to use the AddEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.AddVertex(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Adds the vertex specified to the graph.
            </summary>
            <param name="vertex">The vertex to add.</param>
            <exception cref="T:System.ArgumentException"><paramref name="vertex"/> already exists in the current instance.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="vertex"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="AddVertex" lang="cs" title="The following example shows how to use the AddVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="AddVertex" lang="vbnet" title="The following example shows how to use the AddVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.AddVertex(`0)">
            <summary>
            Adds a vertex to the graph with the specified data item.
            </summary>
            <param name="item">The item to store in the vertex.</param>
            <returns>The <see cref="T:NGenerics.DataStructures.General.Vertex`1"/> created and added to the graph.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="AddVertexFromValue" lang="cs" title="The following example shows how to use the AddVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="AddVertexFromValue" lang="vbnet" title="The following example shows how to use the AddVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.AddEdge(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Adds the edge to the graph.
            </summary>
            <param name="from">The from vertex.</param>
            <param name="to">The to vertex.</param>
            <returns>The newly created <see cref="T:NGenerics.DataStructures.General.Edge`1"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="AddEdgeFromVertices" lang="cs" title="The following example shows how to use the AddEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="AddEdgeFromVertices" lang="vbnet" title="The following example shows how to use the AddEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.AddEdge(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0},System.Double)">
            <summary>
            Adds the edge to the graph.
            </summary>
            <param name="from">The from vertex.</param>
            <param name="to">The to vertex.</param>
            <param name="weight">The weight of this edge.</param>
            <returns>The newly created <see cref="T:NGenerics.DataStructures.General.Edge`1"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="AddWeightedEdgeFromVertices" lang="cs" title="The following example shows how to use the AddEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="AddWeightedEdgeFromVertices" lang="vbnet" title="The following example shows how to use the AddEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.IsWeaklyConnected">
            <summary>
            Gets a value indicating whether this graph is weakly connected.
            </summary>
            <returns><c>true</c> if this graph is weakly connected; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.General.Graph`1"/> is empty.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="IsWeaklyConnected" lang="cs" title="The following example shows how to use the IsWeaklyConnected method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="IsWeaklyConnected" lang="vbnet" title="The following example shows how to use the IsWeaklyConnected method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.IsStronglyConnected">
            <summary>
            Gets a value indicating whether this graph is weakly connected.
            </summary>
            <returns><c>true</c> if this graph is weakly connected; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.DataStructures.General.Graph`1.IsDirected"/> is <c>true</c>.</exception>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.General.Graph`1"/> is empty.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="IsStronglyConnected" lang="cs" title="The following example shows how to use the IsStronglyConnected method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="IsStronglyConnected" lang="vbnet" title="The following example shows how to use the IsStronglyConnected method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.ContainsEdge(`0,`0)">
            <summary>
            Determines whether the vertex with the specified from value has an edge to a vertex with the specified to value.
            </summary>
            <param name="fromValue">The from vertex value.</param>
            <param name="toValue">The to vertex value.</param>
            <returns>
            	<c>true</c> if the vertex with the specified from value has an edge to a vertex with the specified to value; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="ContainsEdgeFromVerticeValues" lang="cs" title="The following example shows how to use the ContainsEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="ContainsEdgeFromVerticeValues" lang="vbnet" title="The following example shows how to use the ContainsEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.ContainsEdge(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Determines whether the specified vertex has a edge to the to vertex.
            </summary>
            <param name="from">The from vertex.</param>
            <param name="to">The to vertex.</param>
            <returns>
            	<c>true</c> if the specified from vertex has an edge to the to vertex; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="ContainsEdgeFromVertices" lang="cs" title="The following example shows how to use the ContainsEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="ContainsEdgeFromVertices" lang="vbnet" title="The following example shows how to use the ContainsEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.ContainsEdge(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Determines whether the specified edge is contained in this graph.
            </summary>
            <param name="edge">The edge to look for.</param>
            <returns>
            	<c>true</c> if the specified edge is contained in the graph; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="ContainsEdge" lang="cs" title="The following example shows how to use the ContainsEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="ContainsEdge" lang="vbnet" title="The following example shows how to use the ContainsEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.GetEdge(NGenerics.DataStructures.General.Vertex{`0},NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Gets the edge specified by the two vertices.
            </summary>
            <param name="from">The from vertex.</param>
            <param name="to">The two vertex.</param>
            <returns>The <see cref="T:NGenerics.DataStructures.General.Edge`1"/> between the two specified vertices if found; otherwise a null reference.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="GetEdge" lang="cs" title="The following example shows how to use the GetEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="GetEdge" lang="vbnet" title="The following example shows how to use the GetEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.GetEdge(`0,`0)">
            <summary>
            Gets the edge specified by the two vertices.
            </summary>
            <param name="fromVertexValue">The from vertex value.</param>
            <param name="toVertexValue">The to vertex value.</param>
            <returns>The <see cref="T:NGenerics.DataStructures.General.Edge`1"/> formed by vertices with the specified values if found, otherwise a null reference.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="GetEdgeFromVertexValue" lang="cs" title="The following example shows how to use the GetEdge method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="GetEdgeFromVertexValue" lang="vbnet" title="The following example shows how to use the GetEdge method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.GetVertex(`0)">
            <summary>
            Gets the vertex with the specified value.
            </summary>
            <param name="vertexValue">The vertex value to look for.</param>
            <returns>The <see cref="T:NGenerics.DataStructures.General.Vertex`1"/> with the specified value.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="GetVertex" lang="cs" title="The following example shows how to use the GetVertex method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="GetVertex" lang="vbnet" title="The following example shows how to use the GetVertex method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.FindVertices(System.Predicate{`0})">
            <summary>
            Find all vertices matching the predicate supplied.
            </summary>
            <returns>All vertices matching <paramref name="predicate"/>.</returns>
            <param name="predicate">The predicate (condition) to use.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="predicate"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="FindVertices" lang="cs" title="The following example shows how to use the FindVertices method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="FindVertices" lang="vbnet" title="The following example shows how to use the FindVertices method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.FindCycles">
            <summary>
            Finds cycles in a graph using Tarjan's strongly connected components algorithm.
            See http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm
            </summary>
            <returns>A list of of vertice arrays (paths) that form cycles in the graph.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.FindCycles(System.Boolean)">
            <summary>
            Finds cycles in a graph using Tarjan's strongly connected components algorithm.
            See http://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm
            </summary>
            <param name="excludeSingleItems">if set to <c>true</c> nodes with no edges are excluded.</param>
            <returns>A list of of vertice arrays (paths) that form cycles in the graph.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.TopologicalSortTraversalInternal(NGenerics.Patterns.Visitor.IVisitor{NGenerics.DataStructures.General.Vertex{`0}})">
            <summary>
            Allows a visitor to visit each vertex in topological order.
            </summary>
            <param name="visitor">The visitor.</param>
            <returns>The number of items visited.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.DepthFirstTraversal(NGenerics.Patterns.Visitor.OrderedVisitor{NGenerics.DataStructures.General.Vertex{`0}},NGenerics.DataStructures.General.Vertex{`0},System.Collections.Generic.List{NGenerics.DataStructures.General.Vertex{`0}}@)">
            <summary>
            Performs a depth-first traversal.
            </summary>
            <param name="visitor">The visitor.</param>
            <param name="startVertex">The start vertex.</param>
            <param name="visitedVertices">The visited vertices.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.AddEdgeToVertices(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Adds the edge to the vertices in the edge.
            </summary>
            <param name="edge">The edge to add.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.CheckEdgeNotNull(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Checks that the edge is not null.
            </summary>
            <param name="edge">The edge to check.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="edge"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.GetAnyVertex">
            <summary>
            Gets any vertex.
            </summary>
            <returns>Any vertex.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.TarjansStronglyConnectedComponentsAlgorithm(System.Boolean,NGenerics.DataStructures.General.Vertex{`0},System.Collections.Generic.IDictionary{NGenerics.DataStructures.General.Vertex{`0},System.Int32},System.Collections.Generic.IDictionary{NGenerics.DataStructures.General.Vertex{`0},System.Int32},System.Collections.Generic.ICollection{NGenerics.DataStructures.General.Vertex{`0}[]},System.Collections.Generic.Stack{NGenerics.DataStructures.General.Vertex{`0}},System.Int32)">
            <summary>
            Executes Tarjan's algorithm on the graph.
            </summary>
            <param name="excludeSinlgeItems">if set to <c>true</c> [exclude sinlge items].</param>
            <param name="vertex">The vertex to start with.</param>
            <param name="indices">The current indices.</param>
            <param name="lowlinks">The current lowlinks.</param>
            <param name="connected">The connected components.</param>
            <param name="stack">The stack.</param>
            <param name="index">The current index.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.Graph`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Graph`1.IsEmpty">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Graph`1.System#Collections#Generic#ICollection{T}#Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Graph`1.IsDirected">
            <summary>
            Gets a value indicating whether this instance is directed.
            </summary>
            <value>
            	<c>true</c> if this instance is directed; otherwise, <c>false</c>.
            </value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="IsDirected" lang="cs" title="The following example shows how to use the IsDirected property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="IsDirected" lang="vbnet" title="The following example shows how to use the IsDirected property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Graph`1.Vertices">
            <summary>
            Gets the vertices contained in this graph.
            </summary>
            <value>The vertices contained in this graph.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Vertices" lang="cs" title="The following example shows how to use the Vertices property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Vertices" lang="vbnet" title="The following example shows how to use the Vertices property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Graph`1.Edges">
            <summary>
            Gets the edges contained in this graph.
            </summary>
            <value>The edges contained in this graph.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="Edges" lang="cs" title="The following example shows how to use the Edges property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="Edges" lang="vbnet" title="The following example shows how to use the Edges property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Graph`1.IsReadOnly">
            <inheritdoc />
            <value>
            	Always <c>false</c>.
            </value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\GraphExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\GraphExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.HashList`2">
            <summary>
            A Dictionary that accepts multiple values for a unique key.
            </summary>
            <typeparam name="TKey">The type of the keys in the HashList.</typeparam>
            <typeparam name="TValue">The type of the values in the HashList.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.#ctor">
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>     
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.#ctor(System.Collections.Generic.IDictionary{`0,System.Collections.Generic.IList{`1}})">
            <param name="dictionary">The dictionary.</param>
            <exception cref="T:System.ArgumentException"><paramref name="dictionary"/> contains one or more duplicate keys. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="dictionary"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <param name="comparer">The comparer.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="ConstructorComparer" lang="cs" title="The following example shows how to use the comparer constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="ConstructorComparer" lang="vbnet" title="The following example shows how to use the comparer constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.#ctor(System.Int32)">
            <param name="capacity">The capacity.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="ConstructorCapacity" lang="cs" title="The following example shows how to use the capacity constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="ConstructorCapacity" lang="vbnet" title="The following example shows how to use the capacity constructor."/>
            </example> 
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
            <param name="capacity">The capacity.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <param name="info">A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> object containing the information required to serialize the <see cref="T:System.Collections.Generic.Dictionary`2"/>.</param>
            <param name="context">A <see cref="T:System.Runtime.Serialization.StreamingContext"/> structure containing the source and destination of the serialized stream associated with the <see cref="T:System.Collections.Generic.Dictionary`2"/>.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.GetValueEnumerator">
            <summary>
            Gets an enumerator for enumerating though values.
            </summary>
            <returns>A enumerator for enumerating through values in the <see cref="T:NGenerics.DataStructures.General.HashList`2"/>.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="GetValueEnumerator" lang="cs" title="The following example shows how to use the GetValueEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="GetValueEnumerator" lang="vbnet" title="The following example shows how to use the GetValueEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.Add(`0,`1)">
            <summary>
            Adds the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="value">The value.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.AddItem(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Adds the item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.Add(`0,`1[])">
            <summary>
            Adds the specified key.
            </summary>
            <param name="key">The key.</param>
            <param name="values">The values.</param>   
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="AddParams" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="AddParams" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>     
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.AddItem(`0,System.Collections.Generic.IList{`1})">
            <inheritdoc/>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.RemoveValue(`1)">
            <summary>
            Removes the first occurrence of the value found.
            </summary>
            <param name="item">The item.</param>
            <returns>A indication of whether the item has been found (and removed) in the Hash IList.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="RemoveValue" lang="cs" title="The following example shows how to use the RemoveValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="RemoveValue" lang="vbnet" title="The following example shows how to use the RemoveValue method."/>
            </example>     
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.RemoveValueItem(`1)">
            <summary>
            Removes the first instance found of the value specified from the HashList.
            </summary>
            <param name="item">The item.</param>
            <returns>A value indicating whether or not an item matching the criteria was found and removed.</returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.HashList`2.RemoveValue(`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.RemoveAll(`1)">
            <summary>
            Removes all the occurrences of the item in the HashList
            </summary>
            <param name="item">The item.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="RemoveAll" lang="cs" title="The following example shows how to use the RemoveAll method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="RemoveAll" lang="vbnet" title="The following example shows how to use the RemoveAll method."/>
            </example>     
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.RemoveAllItems(`1)">
            <summary>
            Removes all the specified values from the HashList.
            </summary>
            <param name="item">The item.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.HashList`2.RemoveAll(`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.Remove(`0,`1)">
            <summary>
            Removes all the occurrences of the item in the HashList
            </summary>
            <param name="key">The key.</param>
            <param name="item">The item.</param>
            <returns>An indication of whether the key and value pair has been found (and removed).</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="RemoveKeyValue" lang="cs" title="The following example shows how to use the RemoveAll method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="RemoveKeyValue" lang="vbnet" title="The following example shows how to use the RemoveAll method."/>
            </example>     
        </member>
        <member name="M:NGenerics.DataStructures.General.HashList`2.RemoveItem(`0,`1)">
            <summary>
            Removes the item from this instance.
            </summary>
            <param name="key">The key.</param>
            <param name="item">The item to remove.</param>
            <returns></returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.HashList`2.Remove(`0,`1)"/> method.
            </remarks>
        </member>
        <member name="P:NGenerics.DataStructures.General.HashList`2.ValueCount">
            <summary>
            Gets the count of values in this HashList.
            </summary>
            <value>The count of values.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="ValueCount" lang="cs" title="The following example shows how to use the ValueCount property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="ValueCount" lang="vbnet" title="The following example shows how to use the ValueCount property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.HashList`2.KeyCount">
            <summary>
            Gets the count of values in this HashList.
            </summary>
            <value>The count of values.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HashListExamples.cs" region="KeyCount" lang="cs" title="The following example shows how to use the KeyCount property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HashListExamples.vb" region="KeyCount" lang="vbnet" title="The following example shows how to use the KeyCount property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.Heap`1">
            <summary>
            An implementation of a Heap data structure.
            </summary>
            <typeparam name="T">The type of item stored in the <see cref="T:NGenerics.DataStructures.General.Heap`1"/>.</typeparam>
        </member>
        <member name="T:NGenerics.DataStructures.General.IHeap`1">
            <summary>
            An interface for the <see cref="T:NGenerics.DataStructures.General.Heap`1"/> data structure.
            </summary>
            <typeparam name="T">The type of elements in the heap.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.IHeap`1.Add(`0)">
            <summary>
            Adds the specified item.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.IHeap`1.RemoveRoot">
            <summary>
            Removes the root and returns it.
            </summary>
            <returns>The root of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/>.</returns>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.General.Graph`1"/> is empty.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.General.IHeap`1.Root">
            <summary>
            Gets the root.
            </summary>
            <value>The root.</value>
            <exception cref="T:System.InvalidOperationException">The <see cref="T:NGenerics.DataStructures.General.Heap`1"/> is empty.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.#ctor(NGenerics.DataStructures.General.HeapType)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/> class.
            </summary>
            <param name="type">The type of Heap to create.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="type"/> is not either <see cref="F:NGenerics.DataStructures.General.HeapType.Maximum"/> or <see cref="F:NGenerics.DataStructures.General.HeapType.Minimum"/> .</exception>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.#ctor(NGenerics.DataStructures.General.HeapType,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/> class.
            </summary>
            <param name="type">The type of heap.</param>
            <param name="capacity">The capacity.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="type"/> is not either <see cref="F:NGenerics.DataStructures.General.HeapType.Maximum"/> or <see cref="F:NGenerics.DataStructures.General.HeapType.Minimum"/> .</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
            .
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="ConstructorCapacity" lang="cs" title="The following example shows how to use the capacity constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="ConstructorCapacity" lang="vbnet" title="The following example shows how to use the capacity constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.#ctor(NGenerics.DataStructures.General.HeapType,System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/> class.
            </summary>
            <param name="type">The type of heap.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="type"/> is not either <see cref="F:NGenerics.DataStructures.General.HeapType.Maximum"/> or <see cref="F:NGenerics.DataStructures.General.HeapType.Minimum"/> .</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.#ctor(NGenerics.DataStructures.General.HeapType,System.Int32,System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/> class.
            </summary>
            <param name="type">The type of heap.</param>
            <param name="capacity">The capacity of the heap to start with.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="type"/> is not either <see cref="F:NGenerics.DataStructures.General.HeapType.Maximum"/> or <see cref="F:NGenerics.DataStructures.General.HeapType.Minimum"/> .</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.#ctor(NGenerics.DataStructures.General.HeapType,System.Collections.Generic.IComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/> class.
            </summary>
            <param name="type">The type of Heap to create.</param>
            <param name="comparer">The comparer to use.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="type"/> is not either <see cref="F:NGenerics.DataStructures.General.HeapType.Maximum"/> or <see cref="F:NGenerics.DataStructures.General.HeapType.Minimum"/> .</exception>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="ConstructorComparer" lang="cs" title="The following example shows how to use the comparer constructor."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="ConstructorComparer" lang="vbnet" title="The following example shows how to use the comparer constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.#ctor(NGenerics.DataStructures.General.HeapType,System.Int32,System.Collections.Generic.IComparer{`0})">
            <param name="type">The type of heap.</param>
            <param name="capacity">The initial capacity of the Heap.</param>
            <param name="comparer">The comparer to use.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>.
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="type"/> is not either <see cref="F:NGenerics.DataStructures.General.HeapType.Maximum"/> or <see cref="F:NGenerics.DataStructures.General.HeapType.Minimum"/> .</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.RemoveRoot">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="RemoveRoot" lang="cs" title="The following example shows how to use the RemoveRoot method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="RemoveRoot" lang="vbnet" title="The following example shows how to use the RemoveRoot method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.RemoveRootItem(`0)">
            <summary>
            Removes the root item.
            </summary>
            <param name="item">The item.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.Heap`1.RemoveRoot"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.Contains(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.Add(`0)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.AddItem(`0)">
            <summary>
            Adds the item.
            </summary>
            <param name="item">The item to add.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.Heap`1.Add(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
            <inheritdoc/>
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.Clear">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.Heap`1.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.Heap`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.DataStructures.General.Heap`1.Root">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Root" lang="cs" title="The following example shows how to use the Root property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Root" lang="vbnet" title="The following example shows how to use the Root property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Heap`1.Type">
            <summary>
            Gets the type of heap represented by this instance.
            </summary>
            <value>The type of heap.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Type" lang="cs" title="The following example shows how to use the Type property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Type" lang="vbnet" title="The following example shows how to use the Type property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Heap`1.IsEmpty">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Heap`1.Count">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Heap`1.IsReadOnly">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\HeapExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\HeapExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.ISet">
            <summary>
            An interface for the Set data structure
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.Subtract(NGenerics.DataStructures.General.ISet)">
            <summary>
            Applies the difference operation to two <see cref="T:NGenerics.DataStructures.General.ISet"/>.
            </summary>
            <param name="other">The other <see cref="T:NGenerics.DataStructures.General.ISet"/>.</param>
            <returns>The result of the difference operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.Intersection(NGenerics.DataStructures.General.ISet)">
            <summary>
            Applies the Intersection operation to two <see cref="T:NGenerics.DataStructures.General.ISet"/>s.
            </summary>
            <param name="other">The other <see cref="T:NGenerics.DataStructures.General.ISet"/>.</param>
            <returns>The result of the intersection operation.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.Inverse">
            <summary>
            Inverses this instance.
            </summary>
            <returns>The Inverse representation of the current <see cref="T:NGenerics.DataStructures.General.ISet"/>.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.IsProperSubsetOf(NGenerics.DataStructures.General.ISet)">
            <summary>
            Determines whether the current instance is a proper subset specified <see cref="T:NGenerics.DataStructures.General.ISet"/>.
            </summary>
            <param name="other">The <see cref="T:NGenerics.DataStructures.General.ISet"/>.</param>
            <returns>
            	<c>true</c> if [is proper subset of] [the specified set]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.IsProperSupersetOf(NGenerics.DataStructures.General.ISet)">
            <summary>
            Determines whether the current instance is a proper superset of specified <see cref="T:NGenerics.DataStructures.General.ISet"/>.
            </summary>
            <param name="other">The set.</param>
            <returns>
            	<c>true</c> if [is proper superset of] [the specified set]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.IsSubsetOf(NGenerics.DataStructures.General.ISet)">
            <summary>
            Determines whether the current instance is a subset of the specified <see cref="T:NGenerics.DataStructures.General.ISet"/>.
            </summary>
            <param name="other">The set.</param>
            <returns>
            	<c>true</c> if [is subset of] [the specified set]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.IsSupersetOf(NGenerics.DataStructures.General.ISet)">
            <summary>
            Determines whether the current instance is a superset of the specified <see cref="T:NGenerics.DataStructures.General.ISet"/>.
            </summary>
            <param name="other">The set.</param>
            <returns>
            	<c>true</c> if [is superset of] [the specified set]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.ISet.Union(NGenerics.DataStructures.General.ISet)">
            <summary>
            Performs the union operation on two <see cref="T:NGenerics.DataStructures.General.ISet"/>s.
            </summary>
            <param name="other">The set.</param>
            <returns>The union of this <see cref="T:NGenerics.DataStructures.General.ISet"/> and <paramref name="set"/>.</returns>
        </member>
        <member name="T:NGenerics.DataStructures.General.PascalSet">
            <summary>
            A data structure for representing a set of objects and common operations performed on sets.
            </summary>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.#ctor(System.Int32)">
            <param name="upperBound">The upper bound.  The lower bound defaults as 0.</param>
            <exception cref="T:System.ArgumentException"><paramref name="upperBound"/> is less than 1.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.#ctor(System.Int32,System.Int32[])">
            <param name="upperBound">The upper bound.  The lower bound defaults as 0.</param>
            <param name="initialValues">The initial values.</param>
            <exception cref="T:System.ArgumentException"><paramref name="upperBound"/> is less than 1.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.#ctor(System.Int32,System.Int32,System.Int32[])">
            <param name="lowerBound">The lower bound.</param>
            <param name="upperBound">The upper bound.</param>
            <param name="initialValues">The initial values.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="initialValues"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="lowerBound"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="upperBound"/> is not greater than <paramref name="lowerBound"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.#ctor(System.Int32,System.Int32)">
            <param name="lowerBound">The lower bound.</param>
            <param name="upperBound">The upper bound.</param>
            <exception cref="T:System.ArgumentException"><paramref name="lowerBound"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="upperBound"/> is not greater than <paramref name="lowerBound"/>.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.#ctor(System.Collections.BitArray,System.Int32,System.Int32)">
            <param name="initialData">The initial data.</param>
            <param name="lowerBound">The lower bound.</param>
            <param name="upperBound">The upper bound.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Union(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Computes the union of this set and the specified set.
            </summary>
            <param name="set">The set.</param>
            <returns>The union between this set and the set specified.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Union" lang="cs" title="The following example shows how to use the Union method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Union" lang="vbnet" title="The following example shows how to use the Union method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Subtract(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Computes the difference between this set and the specified set.
            </summary>
            <param name="set">The set.</param>
            <returns>The result of the difference operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Subtract" lang="cs" title="The following example shows how to use the Subtract method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Subtract" lang="vbnet" title="The following example shows how to use the Subtract method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Intersection(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Computes the intersection between this set and the specified set.
            </summary>
            <param name="set">The set.</param>
            <returns>The result of the intersection operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Intersection" lang="cs" title="The following example shows how to use the Intersection method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Intersection" lang="vbnet" title="The following example shows how to use the Intersection method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Inverse">
            <summary>
            Returns a set with items not in this set.
            </summary>		
            <returns>The set with items not included in this set.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Inverse" lang="cs" title="The following example shows how to use the Inverse method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Inverse" lang="vbnet" title="The following example shows how to use the Inverse method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.IsSubsetOf(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Determines whether this set is a subset of the specified set.
            </summary>
            <param name="set">The set to be compared against.</param>
            <returns>
            	<c>true</c> if this set is a subset of the specified set]; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="IsSubsetOf" lang="cs" title="The following example shows how to use the IsSubsetOf method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="IsSubsetOf" lang="vbnet" title="The following example shows how to use the IsSubsetOf method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.IsProperSubsetOf(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Determines whether this set is a proper subset of the specified set.
            </summary>
            <param name="set">The set to be compared against.</param>
            <returns>
            	<c>true</c> if this is a proper subset of the specified set; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="IsProperSubsetOf" lang="cs" title="The following example shows how to use the IsProperSubsetOf method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="IsProperSubsetOf" lang="vbnet" title="The following example shows how to use the IsProperSubsetOf method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.IsSupersetOf(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Determines whether this set is a superset of the specified set.
            </summary>
            <param name="set">The set to be compared against.</param>
            <returns>
            	<c>true</c> if this set is a superset of the specified set; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.IsProperSupersetOf(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Determines whether this set is a proper superset of the specified set.
            </summary>
            <param name="set">The set to be compared against.</param>
            <returns>
            	<c>true</c> if this is a proper superset of the specified set; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="set"/> is not in the same universe as this instance.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="IsProperSupersetOf" lang="cs" title="The following example shows how to use the IsProperSupersetOf method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="IsProperSupersetOf" lang="vbnet" title="The following example shows how to use the IsProperSupersetOf method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_Addition(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator + : Performs a union between two sets.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>The result of the union operation.</returns>    
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>  
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>  
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_Subtraction(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator - : Performs a difference operation between two sets.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>The result of the difference operation.</returns>  
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>      
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_Multiply(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator * : Performs a intersection between two sets.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>The result of the intersection operation.</returns> 
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_LessThanOrEqual(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator &lt;= : Checks if the left hand set is a subset of the right hand set.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>A value indicating whether the left hand set is a subset of the right hand set.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_GreaterThanOrEqual(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator &gt;= : Checks if the left hand set is a superset of the right hand set.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>A value indicating whether the left hand set is a superset of the right hand set.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_LessThan(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator &lt;= : Checks if the left hand set is a proper subset of the right hand set.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>A value indicating whether the left hand set is a proper subset of the right hand set.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_GreaterThan(NGenerics.DataStructures.General.PascalSet,NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator &gt;= : Checks if the left hand set is a proper superset of the right hand set.
            </summary>
            <param name="left">The left hand set.</param>
            <param name="right">The right hand set.</param>
            <returns>A value indicating whether the left hand set is a proper superset of the right hand set.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="left"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="right"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentException"><paramref name="left"/> and <paramref name="right"/> are not in the same universe as this instance.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.op_LogicalNot(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Operator ! : Performs the inverse operation on this set.
            </summary>
            <param name="set">The inverse of set.</param>
            <returns>The result of the inverse operation.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="set"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.GetOffSet(System.Int32)">
            <summary>
            Gets the offset of the specified index.
            </summary>
            <param name="item">The item.</param>
            <returns>The offset of the item at the specified index.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.IsUniverseTheSame(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Determines whether [is universe the same] [the specified set].
            </summary>
            <param name="set">The set.</param>
            <returns>
            	<c>true</c> if [is universe the same] [the specified set]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.CheckIfUniverseTheSame(NGenerics.DataStructures.General.PascalSet)">
            <summary>
            Checks if the universe is the same.
            </summary>
            <param name="set">The set.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.IsIndexValid(System.Int32)">
            <summary>
            Determines whether [is index valid] [the specified index].
            </summary>
            <param name="index">The index.</param>
            <returns>
            	<c>true</c> if [is index valid] [the specified index]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.CheckValidIndex(System.Int32)">
            <summary>
            Checks if the value supplied is a valid index.
            </summary>
            <param name="index">The index.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Add(System.Int32)">
            <inheritdoc/>  
            <exception cref="T:System.ArgumentException"><paramref name="item"/> is not in the same universe.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.AddItem(System.Int32,System.Int32)">
            <summary>
            Adds the item to the set.
            </summary>
            <param name="item">The item to add.</param>
            <param name="offset">The offset in which to add the item.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.PascalSet.Add(System.Int32)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Remove(System.Int32)">
            <inheritdoc/>  
            <exception cref="T:System.ArgumentException"><paramref name="item"/> is not in the same universe.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.RemoveItem(System.Int32,System.Int32)">
            <summary>
            Removes the item from the set.
            </summary>
            <param name="item">The item to remove.</param>
            <param name="offset">The offset at which to remove the item.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.PascalSet.Remove(System.Int32)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Contains(System.Int32)">
            <inheritdoc/>  
            <exception cref="T:System.ArgumentException"><paramref name="item"/> is not in the same universe.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Clear">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.PascalSet.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.CopyTo(System.Int32[],System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.GetEnumerator">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#Subtract(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#Intersection(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#Inverse">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#IsProperSubsetOf(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#IsProperSupersetOf(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#IsSubsetOf(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#IsSupersetOf(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.NGenerics#DataStructures#General#ISet#Union(NGenerics.DataStructures.General.ISet)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.PascalSet.Equals(NGenerics.DataStructures.General.PascalSet)">
            <inheritdoc />  
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.LowerBound">
            <summary>
            Gets the lower bound.
            </summary>
            <value>The lower bound.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="LowerBound" lang="cs" title="The following example shows how to use the LowerBound property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="LowerBound" lang="vbnet" title="The following example shows how to use the LowerBound property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.UpperBound">
            <summary>
            Gets the upper bound.
            </summary>
            <value>The upper bound.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="UpperBound" lang="cs" title="The following example shows how to use the UpperBound property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="UpperBound" lang="vbnet" title="The following example shows how to use the UpperBound property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.Capacity">
            <summary>
            Gets the capacity of the set (the amount of items that can be contained).
            </summary>
            <value>The capacity of the set.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Capacity" lang="cs" title="The following example shows how to use the Capacity property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Capacity" lang="vbnet" title="The following example shows how to use the Capacity property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.Item(System.Int32)">
            <summary>
            Indicates whether an item is present in this set.
            </summary>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.Count">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.IsEmpty">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.IsFull">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="IsFull" lang="cs" title="The following example shows how to use the IsFull property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="IsFull" lang="vbnet" title="The following example shows how to use the IsFull property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.PascalSet.IsReadOnly">
            <inheritdoc />  
            <value>
            	Always <c>false</c>.
            </value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\PascalSetExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\PascalSetExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.RedBlackTree`1">
            <summary>
            An implementation of a Red-Black tree.
            </summary>
            <typeparam name="T">The type of element to keep in the tree.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.#ctor">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.#ctor(System.Collections.Generic.IComparer{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.#ctor(System.Comparison{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.AddItem(`0)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.RemoveItem(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="item">The item to remove.</param>
            <returns>
            	<c>true</c> if the element is successfully removed; otherwise, <c>false</c>.  This method also returns false if key was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.IsRed(NGenerics.DataStructures.Trees.RedBlackTreeNode{`0})">
            <summary>
            Determines whether the specified node is red.
            </summary>
            <param name="node">The node.</param>
            <returns>
            	<c>true</c> if the specified node is red; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.IsBlack(NGenerics.DataStructures.Trees.RedBlackTreeNode{`0})">
            <summary>
            Determines whether the specified node is black.
            </summary>
            <param name="node">The node.</param>
            <returns>
            	<c>true</c> if the specified node is black; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.InsertNode(NGenerics.DataStructures.Trees.RedBlackTreeNode{`0},`0)">
            <summary>
            A recursive implementation of insertion of a node into the tree.
            </summary>
            <param name="node">The start node.</param>
            <param name="item">The item.</param>
            <returns>The node created in the insertion.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.SingleRotation(NGenerics.DataStructures.Trees.RedBlackTreeNode{`0},System.Boolean)">
            <summary>
            Perform a single rotation on the node provided..
            </summary>
            <param name="node">The node on which to focus the rotation.</param>
            <param name="direction">The direction of the rotation.  If direction is equal to true, a right rotation is performed.  Other wise, a left rotation.</param>
            <returns>The new root of the cluster.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`1.DoubleRotation(NGenerics.DataStructures.Trees.RedBlackTreeNode{`0},System.Boolean)">
            <summary>
            Perform a double rotation on the node provided..
            </summary>
            <param name="node">The node on which to focus the rotation.</param>
            <param name="direction">The direction of the rotation.  If direction is equal to true, a right rotation is performed.  Other wise, a left rotation.</param>
            <returns>The new root of the cluster.</returns>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.RedBlackTree`2">
            <summary>
            An implementation of a Red-Black tree.
            </summary>
            <typeparam name="TKey">The type of the keys in the <see cref="T:NGenerics.DataStructures.Trees.RedBlackTree`2"/>.</typeparam>
            <typeparam name="TValue">The type of the values in the <see cref="T:NGenerics.DataStructures.Trees.RedBlackTree`2"/>.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.#ctor">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.#ctor(System.Comparison{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>
            true if the element is successfully removed; otherwise, false.  This method also returns false if <paramref name="key"/> was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.
            </exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.Add(`0,`1)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="key">The object to use as the key of the element to add.</param>
            <param name="value">The object to use as the value of the element to add.</param>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="key"/> is null.
            </exception>
            <exception cref="T:System.ArgumentException">
            An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IDictionary`2"/> is read-only.
            </exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.ContainsKey(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.IDictionary`2"/> contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.</param>
            <returns>
            true if the <see cref="T:System.Collections.Generic.IDictionary`2"/> contains an element with the key; otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentNullException">
            	<paramref name="key"/> is null.
            </exception>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.TryGetValue(`0,`1@)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="TryGetValue" lang="cs" title="The following example shows how to use the TryGetValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="TryGetValue" lang="vbnet" title="The following example shows how to use the TryGetValue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTree`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTree`2.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Keys" lang="cs" title="The following example shows how to use the Keys property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Keys" lang="vbnet" title="The following example shows how to use the Keys property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTree`2.Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Values" lang="cs" title="The following example shows how to use the Values property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Values" lang="vbnet" title="The following example shows how to use the Values property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTree`2.Item(`0)">
            <summary>
            Gets or sets the value with the specified key.
            </summary>
            <value>The key of the item to set or get.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.RedBlackTreeList`2">
            <summary>
            A RedBlack Tree list variant.  Equivalent to <see cref="T:NGenerics.DataStructures.Trees.RedBlackTree`2"/> where TValue is a <see cref="T:System.Collections.Generic.LinkedList`1"/>.
            </summary>
            <typeparam name="TKey">The type of the key.</typeparam>
            <typeparam name="TValue">The type of the value.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.RedBlackTreeList`2"/> class.
            </summary>
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.#ctor(System.Comparison{`0})">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.ContainsValue(`1)">
            <summary>
            Determines whether the specified value contains value.
            </summary>
            <param name="value">The value.</param>
            <returns>
            	<c>true</c> if the specified value contains value; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.GetValueEnumerator">
            <summary>
            Gets the value enumerator.
            </summary>
            <returns>An enumerator to enumerate through the values contained in this instance.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.GetKeyEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.Remove(`1,`0@)">
            <summary>
            Removes the specified value.
            </summary>
            <param name="value">The value.</param>
            <param name="key">The key under which the item was found.</param>
            <returns>A value indicating whether the item was found or not.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeList`2.TraverseItems(NGenerics.DataStructures.Trees.RedBlackTreeList{`0,`1}.NodeAction)">
            <summary>
            Traverses the items.
            </summary>
            <param name="shouldStop">A predicate that performs an action on the list, and indicates whether the enumeration of items should stop or not.</param>
            <returns>An indication of whether the enumeration was stopped prematurely.</returns>
        </member>
        <member name="T:NGenerics.DataStructures.General.Singleton`1">
            <summary>
            A generic Singleton pattern implementation.
            </summary>
            <typeparam name="T">The type of object to create a single instance of.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SingletonExamples.cs" region="Singleton" lang="cs" title="The following example shows how to use the Instance method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SingletonExamples.vb" region="Singleton" lang="vbnet" title="The following example shows how to use the Instance method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Singleton`1.ConstructWith">
            <summary>
            Sets a method of construction of the value of this singleton.
            </summary>
            <value>The construct with.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SingletonExamples.cs" region="ConstructWith" lang="cs" title="The following example shows how to use the ConstructWith property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SingletonExamples.vb" region="ConstructWith" lang="vbnet" title="The following example shows how to use the ConstructWith property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Singleton`1.Instance">
            <summary>
            Gets the instance.
            </summary>
            <value>The instance.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SingletonExamples.cs" region="Singleton" lang="cs" title="The following example shows how to use the Instance method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SingletonExamples.vb" region="Singleton" lang="vbnet" title="The following example shows how to use the Instance method."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.Singleton`1.FactoryDelegate">
            <summary>
            A custom delegate for the creation of objects.  Used instead of Func for backwards compatibility with .NET 2.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.General.Singleton`1.Container">
            <summary>
            Internal container class fo the actual value - needed so that the CLR
            can guarantee thread safety.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.General.SkipList`2">
            <summary>
            A Skip List data structure
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.#ctor">
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="ConstructorComparer" lang="cs" title="The following example shows how to use the comparer constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="ConstructorComparer" lang="vbnet" title="The following example shows how to use the comparer constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.#ctor(System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.SkipList`2"/> class.
            </summary>
            <param name="comparison">The comparison.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.#ctor(System.Int32,System.Double,System.Comparison{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.General.SkipList`2"/> class.
            </summary>
            <param name="maximumLevel">The maximum level.</param>
            <param name="probability">The probability.</param>
            <param name="comparison">The comparison.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="maximumLevel"/> is less than 1.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="probability"/> is less than 0.1.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="probability"/> is greater than 0.9.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.#ctor(System.Int32,System.Double,System.Collections.Generic.IComparer{`0})">
            <param name="maximumLevel">The maximum level.</param>
            <param name="probability">The probability.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="maximumLevel"/> is less than 1.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="probability"/> is less than 0.1.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="probability"/> is greater than 0.9.</exception>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="AddKeyValue" lang="cs" title="The following example shows how to use the AddKeyValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="AddKeyValue" lang="vbnet" title="The following example shows how to use the AddKeyValue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.Clear">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.ClearItems">
            <summary>
            Clears all the objects in this instance.
            </summary>
            <remarks>
            <b>Notes to Inheritors: </b>
             Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.SkipList`2.Clear"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />  	
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="ContainsKeyValue" lang="cs" title="The following example shows how to use the ContainsKeyValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="ContainsKeyValue" lang="vbnet" title="The following example shows how to use the ContainsKeyValue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.Add(`0,`1)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.AddItem(`0,`1)">
            <summary>
            Adds the item to the collection.
            </summary>
            <param name="key">The key of the item.</param>
            <param name="value">The value to add to the colleciton.</param>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.SkipList`2.Add(`0,`1)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.ContainsKey(`0)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="ContainsKey" lang="cs" title="The following example shows how to use the ContainsKey method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="ContainsKey" lang="vbnet" title="The following example shows how to use the ContainsKey method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.Remove(`0)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Remove" lang="cs" title="The following example shows how to use the Remove method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Remove" lang="vbnet" title="The following example shows how to use the Remove method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.RemoveItem(`0)">
            <summary>
            Removes the item from the collection.
            </summary>
            <param name="key">The key to remove.</param>
            <returns></returns>
            <remarks>
            	<b>Notes to Inheritors: </b>
            Derived classes can override this method to change the behavior of the <see cref="M:NGenerics.DataStructures.General.SkipList`2.Remove(`0)"/> method.
            </remarks>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.TryGetValue(`0,`1@)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="TryGetValue" lang="cs" title="The following example shows how to use the TryGetValue method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="TryGetValue" lang="vbnet" title="The following example shows how to use the TryGetValue method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipList`2.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />  
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.IsEmpty">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.Count">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.IsReadOnly">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Keys" lang="cs" title="The following example shows how to use the Keys property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Keys" lang="vbnet" title="The following example shows how to use the Keys property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Values" lang="cs" title="The following example shows how to use the Values property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Values" lang="vbnet" title="The following example shows how to use the Values property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.Item(`0)">
            <summary>
            Gets or sets the value with the specified key.
            </summary>
            <value></value>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Item" lang="cs" title="The following example shows how to use the Item property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Item" lang="vbnet" title="The following example shows how to use the Item property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.Comparer">
            <summary>
            Gets the comparer used to compare items in this instance.
            </summary>
            <value>The comparer.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Comparer" lang="cs" title="The following example shows how to use the Comparer property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Comparer" lang="vbnet" title="The following example shows how to use the Comparer property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.Probability">
            <summary>
            Gets the probability.
            </summary>
            <value>The probability.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="Probability" lang="cs" title="The following example shows how to use the Probability property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="Probability" lang="vbnet" title="The following example shows how to use the Probability property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.MaximumListLevel">
            <summary>
            Gets the maximum level.
            </summary>
            <value>The maximum level.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="MaximumListLevel" lang="cs" title="The following example shows how to use the MaximumListLevel property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="MaximumListLevel" lang="vbnet" title="The following example shows how to use the MaximumListLevel property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipList`2.CurrentListLevel">
            <summary>
            Gets the current list level.
            </summary>
            <value>The current list level.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SkipListExamples.cs" region="CurrentListLevel" lang="cs" title="The following example shows how to use the CurrentListLevel property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SkipListExamples.vb" region="CurrentListLevel" lang="vbnet" title="The following example shows how to use the CurrentListLevel property."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SkipListNode`2.#ctor(`0,`1)">
            <param name="key">The key.</param>
            <param name="val">The value.</param>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipListNode`2.Key">
            <summary>
            Gets or sets the key.
            </summary>
            <value>The key.</value>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipListNode`2.Value">
            <summary>
            Gets or sets the value.
            </summary>
            <value>The value.</value>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipListNode`2.Right">
            <summary>
            Gets or sets the right node.
            </summary>
            <value>The right node.</value>
        </member>
        <member name="P:NGenerics.DataStructures.General.SkipListNode`2.Down">
            <summary>
            Gets or sets the down node.
            </summary>
            <value>The down node.</value>
        </member>
        <member name="T:NGenerics.DataStructures.General.SortedList`1">
            <summary>
            An implementation of a SortedList data structure, which keeps any objects
            added to it sorted.
            </summary>
            <typeparam name="T">The type of elements in the sorted list.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.#ctor">
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the default constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the default constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.#ctor(System.Collections.Generic.IComparer{`0})">
            <param name="comparer">The comparer to use.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="ConstructorComparer" lang="cs" title="The following example shows how to use the Comparer constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="ConstructorComparer" lang="vbnet" title="The following example shows how to use the Comparer constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.#ctor(System.Int32)">
            <param name="capacity">The initial capacity of the sorted list.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>.
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="ConstructorCapacity" lang="cs" title="The following example shows how to use the constructor with an initial capacity."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="ConstructorCapacity" lang="vbnet" title="The following example shows how to use the constructor with an initial capacity."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.#ctor(System.Int32,System.Collections.Generic.IComparer{`0})">
            <param name="capacity">The initial capacity of the sorted list.</param>
            <param name="comparer">The comparer to use.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="capacity"/> is less than 0.</exception>.
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <param name="collection">The collection to copy into the sorted list.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="ConstructorCollection" lang="cs" title="The following example shows how to use the collections constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="ConstructorCollection" lang="vbnet" title="The following example shows how to use the collections constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.RemoveAt(System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="RemoveAt" lang="cs" title="The following example shows how to use the RemoveAt method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="RemoveAt" lang="vbnet" title="The following example shows how to use the RemoveAt method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.CopyTo(`0[],System.Int32)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="CopyTo" lang="cs" title="The following example shows how to use the CopyTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="CopyTo" lang="vbnet" title="The following example shows how to use the CopyTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.Add(`0)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="Add" lang="cs" title="The following example shows how to use the Add method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="Add" lang="vbnet" title="The following example shows how to use the Add method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.Remove(`0)">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.Contains(`0)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="Contains" lang="cs" title="The following example shows how to use the Contains method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="Contains" lang="vbnet" title="The following example shows how to use the Contains method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="GetEnumerator" lang="cs" title="The following example shows how to use the GetEnumerator method."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="GetEnumerator" lang="vbnet" title="The following example shows how to use the GetEnumerator method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.Clear">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="Clear" lang="cs" title="The following example shows how to use the Clear method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="Clear" lang="vbnet" title="The following example shows how to use the Clear method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc />  
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.IndexOf(`0)">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="IndexOf" lang="cs" title="The following example shows how to use the IndexOf method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="IndexOf" lang="vbnet" title="The following example shows how to use the IndexOf method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.SortedList`1.System#Collections#Generic#IList{T}#Insert(System.Int32,`0)">
            <inheritdoc/>  
            <exception cref="T:System.NotSupportedException">Always.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.General.SortedList`1.Comparer">
            <summary>
            Gets the comparer.
            </summary>
            <value>The comparer.</value>
        </member>
        <member name="P:NGenerics.DataStructures.General.SortedList`1.IsEmpty">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="IsEmpty" lang="cs" title="The following example shows how to use the IsEmpty property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="IsEmpty" lang="vbnet" title="The following example shows how to use the IsEmpty property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SortedList`1.Count">
            <inheritdoc />  
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="Count" lang="cs" title="The following example shows how to use the Count method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="Count" lang="vbnet" title="The following example shows how to use the Count method."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SortedList`1.Item(System.Int32)">
            <summary>
            Gets the item at the specified position.
            </summary>
            <returns>The element at the specified index.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.-or-<paramref name="index"/> is equal to or greater than <see cref="P:NGenerics.DataStructures.General.SortedList`1.Count"/>.</exception>
        </member>
        <member name="P:NGenerics.DataStructures.General.SortedList`1.IsReadOnly">
            <inheritdoc />  
            <remarks>Always returns <c>false</c>.</remarks>
            <value>
            	<c>false</c>.
            </value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\SortedListExamples.cs" region="IsReadOnly" lang="cs" title="The following example shows how to use the IsReadOnly property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\SortedListExamples.vb" region="IsReadOnly" lang="vbnet" title="The following example shows how to use the IsReadOnly property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.SortedList`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
            <inheritdoc/>  
            <exception cref="T:System.NotSupportedException">When set is called.</exception>
        </member>
        <member name="T:NGenerics.DataStructures.General.Vertex`1">
            <summary>
            A class representing a vertex in a graph.
            </summary>
            <typeparam name="T">The type contained in the vertex.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.#ctor(`0)">
            <remarks>The weight is 0 by default.</remarks>
            <param name="data">The data contained in the vertex.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="Constructor" lang="cs" title="The following example shows how to use the constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="Constructor" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.#ctor(`0,System.Double)">
            <param name="data">The data contained in the vertex</param>
            <param name="weight">The weight of the vertex.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="ConstructorWithWeight" lang="cs" title="The following example shows how to use the constructor."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="ConstructorWithWeight" lang="vbnet" title="The following example shows how to use the constructor."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.HasEmanatingEdgeTo(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Determines whether this vertex has an emanating edge to the specified vertex.
            </summary>
            <param name="toVertex">The vertex to test connectivity to.</param>
            <returns>
            	<c>true</c> if this vertex has an emanating edge to the specified vertex; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="HasEmanatingEdgeTo" lang="cs" title="The following example shows how to use the HasEmanatingEdgeTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="HasEmanatingEdgeTo" lang="vbnet" title="The following example shows how to use the HasEmanatingEdgeTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.HasIncidentEdgeWith(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Determines whether [has incident edge with] [the specified from vertex].
            </summary>
            <param name="fromVertex">From vertex.</param>
            <returns>
            	<c>true</c> if [has incident edge with] [the specified from vertex]; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="HasIncidentEdgeWith" lang="cs" title="The following example shows how to use the HasIncidentEdgeWith method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="HasIncidentEdgeWith" lang="vbnet" title="The following example shows how to use the HasIncidentEdgeWith method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.GetEmanatingEdgeTo(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Gets the emanating edge to the specified vertex.
            </summary>
            <param name="toVertex">To to vertex.</param>
            <returns>The emanating edge to the vertex specified if found, otherwise null.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="GetEmanatingEdgeTo" lang="cs" title="The following example shows how to use the GetEmanatingEdgeTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="GetEmanatingEdgeTo" lang="vbnet" title="The following example shows how to use the GetEmanatingEdgeTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.GetIncidentEdgeWith(NGenerics.DataStructures.General.Vertex{`0})">
            <summary>
            Gets the incident edge to the specified vertex.
            </summary>
            <param name="toVertex">The to vertex.</param>
            <returns>The incident edge to the vertex specified if found, otherwise null.</returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="GetIncidentEdgeWith" lang="cs" title="The following example shows how to use the GetIncidentEdgeWith method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="GetIncidentEdgeWith" lang="vbnet" title="The following example shows how to use the GetIncidentEdgeWith method."/>
            </example>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.RemoveEdge(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Removes the edge specified from the vertex.
            </summary>
            <param name="edge">The edge to be removed.</param>
        </member>
        <member name="M:NGenerics.DataStructures.General.Vertex`1.AddEdge(NGenerics.DataStructures.General.Edge{`0})">
            <summary>
            Adds the edge to the vertex.
            </summary>
            <param name="edge">The edge to add.</param>
        </member>
        <member name="P:NGenerics.DataStructures.General.Vertex`1.Weight">
            <summary>
            Gets or sets the weight.
            </summary>
            <value>The weight.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="Weight" lang="cs" title="The following example shows how to use the Weight property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="Weight" lang="vbnet" title="The following example shows how to use the Weight property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Vertex`1.Data">
            <summary>
            Gets or sets the data.
            </summary>
            <value>The data contained in the vertex.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="Data" lang="cs" title="The following example shows how to use the Data property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="Data" lang="vbnet" title="The following example shows how to use the Data property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Vertex`1.Degree">
            <summary>
            Gets the degree of this vertex (the number of emanating edges).
            </summary>
            <value>The degree.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="Degree" lang="cs" title="The following example shows how to use the Degree property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="Degree" lang="vbnet" title="The following example shows how to use the Degree property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Vertex`1.IncidentEdges">
            <summary>
            Gets the edges incident on this vertex.
            </summary>
            <value>The edges incident on this vertex.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="IncidentEdges" lang="cs" title="The following example shows how to use the IncidentEdges property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="IncidentEdges" lang="vbnet" title="The following example shows how to use the IncidentEdges property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Vertex`1.EmanatingEdges">
            <summary>
            Gets the emanating edges on this vertex.
            </summary>
            <value>The emanating edges on this vertex.</value>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\General\VertexExamples.cs" region="EmanatingEdges" lang="cs" title="The following example shows how to use the EmanatingEdges property."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\General\VertexExamples.vb" region="EmanatingEdges" lang="vbnet" title="The following example shows how to use the EmanatingEdges property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.General.Vertex`1.IncomingEdgeCount">
            <summary>
            Gets count of the incoming edges on this vertex.
            </summary>
            <value>The number of incoming edges resident on the vertex.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.RedBlackTreeNode`1">
            <summary>
            A container class, used for the RedBlackTree.
            </summary>
            <typeparam name="T">The type of element.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.RedBlackTreeNode`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.DataStructures.Trees.RedBlackTreeNode`1"/> class.
            </summary>
            <param name="data">The data contained in this node.</param>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTreeNode`1.Color">
            <summary>
            Gets or sets the color of the current node.
            </summary>
            <value>The color of the node.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTreeNode`1.Item(System.Boolean)">
            <summary>
            Gets or sets the <see cref="T:NGenerics.DataStructures.Trees.BinaryTree`1"/> with the specified direction.
            </summary>
            <value></value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTreeNode`1.Left">
            <summary>
            Gets or sets the left subtree.
            </summary>
            <value>The left subtree.</value>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.RedBlackTreeNode`1.Right">
            <summary>
            Gets or sets the right subtree.
            </summary>
            <value>The right subtree.</value>
        </member>
        <member name="T:NGenerics.DataStructures.Trees.SplayTree`2">
            <summary>
            An implementation of a Splay Tree data structure.
            </summary>
            <remarks>
            http://en.wikipedia.org/wiki/Splay_tree
            </remarks>
            <typeparam name="TKey">The type of the keys in the <see cref="T:NGenerics.DataStructures.Trees.SplayTree`2"/>.</typeparam>
            <typeparam name="TValue">The type of the values in the <see cref="T:NGenerics.DataStructures.Trees.SplayTree`2"/>.</typeparam>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.SplayTree`2.#ctor">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.SplayTree`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.SplayTree`2.#ctor(System.Comparison{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.DataStructures.Trees.SplayTree`2.FindNode(`0)">
            <summary>
            Finds the node containing the specified data key.
            </summary>
            <param name="key">The key to search for.</param>
            <returns>The node with the specified key if found.  If the key is not in the tree, this method returns null.</returns>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.SplayTree`2.AddItem(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="M:NGenerics.DataStructures.Trees.SplayTree`2.RemoveItem(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes the element with the specified key from the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
            <param name="item">The item to remove.</param>
            <returns>
            	<c>true</c> if the element is successfully removed; otherwise, <c>false</c>.  This method also returns false if key was not found in the original <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </returns>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.SplayTree`2.Maximum">
            <inheritdoc/>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Maximum" lang="cs" title="The following example shows how to use the Maximum property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Maximum" lang="vbnet" title="The following example shows how to use the Maximum property."/>
            </example>
        </member>
        <member name="P:NGenerics.DataStructures.Trees.SplayTree`2.Minimum">
            <inheritdoc/>
            <example>
            	<code source="..\..\Source\Examples\ExampleLibraryCSharp\DataStructures\Trees\BinarySearchTreeBaseExamples.cs" region="Minimum" lang="cs" title="The following example shows how to use the Minimum property."/>
            	<code source="..\..\Source\Examples\ExampleLibraryVB\DataStructures\Trees\BinarySearchTreeBaseExamples.vb" region="Minimum" lang="vbnet" title="The following example shows how to use the Minimum property."/>
            </example>
        </member>
        <member name="T:NGenerics.DataStructures.General.HeapType">
            <summary>
            The type of <see cref="T:NGenerics.DataStructures.General.Heap`1"/> to implemented.
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.General.HeapType.Minimum">
            <summary>
            Makes the heap a Minimum-Heap - the smallest item is kept in the root of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/>.
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.General.HeapType.Maximum">
            <summary>
            Makes the heap a Maximum-Heap - the largest item is kept in the root of the <see cref="T:NGenerics.DataStructures.General.Heap`1"/>.
            </summary>
        </member>
        <member name="T:NGenerics.DataStructures.Queues.PriorityQueueType">
            <summary>
            Specifies the Priority Queue type (min or max).
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.Queues.PriorityQueueType.Minimum">
            <summary>
            Specify a Minimum <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/>.
            </summary>
        </member>
        <member name="F:NGenerics.DataStructures.Queues.PriorityQueueType.Maximum">
            <summary>
            Specify a Maximum <see cref="T:NGenerics.DataStructures.Queues.PriorityQueue`2"/>.
            </summary>
        </member>
        <member name="T:NGenerics.Extensions.DoubleExtensions">
            <summary>
            Provides extension methods to the Double type.
            </summary>
        </member>
        <member name="F:NGenerics.Extensions.DoubleExtensions.DefaultPrecision">
            <summary>
            The default precision catered for in checking whether or not values are similar.
            </summary>
        </member>
        <member name="M:NGenerics.Extensions.DoubleExtensions.IsSimilarTo(System.Double,System.Double)">
            <summary>
            Checks if arguments are very close in values. If true we could assume they 
            refer to the same value. 
            </summary>
            <param name="arg1">The 1st argument value to check.</param>
            <param name="arg2">The 1st argument value to check.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Extensions\DoubleExtensionsExamples.cs" region="IsSimilarTo" lang="cs" title="The following example shows how to use the IsSimilarTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Extensions\DoubleExtensionsExamples.vb" region="IsSimilarTo" lang="vbnet" title="The following example shows how to use the IsSimilarTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.Extensions.DoubleExtensions.IsSimilarTo(System.Double,System.Double,System.Double)">
            <summary>
            Checks if arguments are very close in values using given precision perimeters. If true we could assume they 
            refer to the same value. 
            </summary>
            <param name="arg1">The 1st argument value to check.</param>
            <param name="arg2">The 1st argument value to check.</param>
            <param name="precision">The precision.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Extensions\DoubleExtensionsExamples.cs" region="IsSimilarWithPrecision" lang="cs" title="The following example shows how to use the IsSimilarTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Extensions\DoubleExtensionsExamples.vb" region="IsSimilarWithPrecision" lang="vbnet" title="The following example shows how to use the IsSimilarTo method."/>
            </example>
        </member>
        <member name="T:NGenerics.Extensions.EnumerableExtensions">
            <summary>
            Extensions for the IEnumerable interface.
            </summary>
        </member>
        <member name="M:NGenerics.Extensions.EnumerableExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Performs the specified action on each element of the collection.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="enumerable">The collection to enumerate over.</param>
            <param name="action">The action to perform on each item..</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Extensions\IEnumerableExtensionsExamples.cs" region="ForEach" lang="cs" title="The following example shows how to use the ForEach method."/>
            </example>
        </member>
        <member name="T:NGenerics.Extensions.ListExtensions">
            <summary>
            Extensions for the generic <see cref="T:System.Collections.Generic.List`1"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.GetRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32)">
            <inheritdoc cref="M:System.Collections.Generic.List`1.GetRange(System.Int32,System.Int32)"/>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Adds the range of items to the list.
            </summary>
            <typeparam name="T">The type of item.</typeparam>
            <param name="list">The list to add the items to.</param>
            <param name="collection">The collection of items to add.</param>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.FindIndex``1(System.Collections.Generic.IList{``0},System.Predicate{``0})">
            <summary>
            Finds the index of the first item in the list that matches the specified predicate.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to search.</param>
            <param name="match">The matching predicate.</param>
            <returns>The index of the first item in the list that matches the specified predicate, -1 if none was found.</returns>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.FindIndex``1(System.Collections.Generic.IList{``0},System.Int32,System.Predicate{``0})">
            <summary>
            Finds the index of the first item in the list that matches the specified predicate.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to search.</param>
            <param name="startIndex">The start index.</param>
            <param name="match">The matching predicate.</param>
            <returns>
            The index of the first item in the list that matches the specified predicate, -1 if none was found.
            </returns>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.FindIndex``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.Predicate{``0})">
            <summary>
            Finds the index of the first item in the list that matches the specified predicate.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to search.</param>
            <param name="startIndex">The start index.</param>
            <param name="count">The number of items to inspect from the start index.</param>
            <param name="match">The matching predicate.</param>
            <returns>
            The index of the first item in the list that matches the specified predicate, -1 if none was found.
            </returns>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.FindLastIndex``1(System.Collections.Generic.IList{``0},System.Predicate{``0})">
            <summary>
            Finds the index of the last item in the list that matches the specified predicate.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to search.</param>
            <param name="match">The matching predicate.</param>
            <returns>
            The index of the last item in the list that matches the specified predicate if any was found, -1.
            </returns>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.FindLastIndex``1(System.Collections.Generic.IList{``0},System.Int32,System.Predicate{``0})">
            <summary>
            Finds the index of the last item in the list that matches the specified predicate.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to search.</param>
            <param name="startIndex">The start index.</param>
            <param name="match">The matching predicate.</param>
            <returns>
            The index of the last item in the list that matches the specified predicate if any was found, -1.
            </returns>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.FindLastIndex``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32,System.Predicate{``0})">
            <summary>
            Finds the index of the last item in the list that matches the specified predicate.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to search.</param>
            <param name="startIndex">The start index.</param>
            <param name="count">The number of items to inspect from the start index.</param>
            <param name="match">The matching predicate.</param>
            <returns>
            The index of the last item in the list that matches the specified predicate if any was found, -1.
            </returns>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.ForEach``1(System.Collections.Generic.IList{``0},System.Action{``0})">
            <summary>
            Performs the specified action on each item in the list.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list to enumerate over.</param>
            <param name="action">The action to execute.</param>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.InsertRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Collections.Generic.IEnumerable{``0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})"/>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.RemoveAll``1(System.Collections.Generic.IList{``0},System.Predicate{``0})">
            <inheritdoc cref="M:System.Collections.Generic.List`1.RemoveAll(System.Predicate{`0})"/>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.Sort``1(System.Collections.Generic.IList{``0})">
            <summary>
            Sorts the specified list.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list.</param>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.Sort``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IComparer{``0})">
            <summary>
            Sorts the specified list.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list.</param>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="M:NGenerics.Extensions.ListExtensions.Sort``1(System.Collections.Generic.IList{``0},System.Comparison{``0})">
            <summary>
            Sorts the specified list.
            </summary>
            <typeparam name="T">The type of item in the list.</typeparam>
            <param name="list">The list.</param>
            <param name="comparison">The comparison.</param>
        </member>
        <member name="T:NGenerics.Extensions.ObjectExtensions">
            <summary>
            Extensions methods on the <see cref="T:System.Object"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.Extensions.ObjectExtensions.ConvertTo``1(System.Object)">
            <summary>
            Converts the specified value into the type specified by the generic parameter if possible.
            </summary>
            <typeparam name="T">The type to convert the object into.</typeparam>
            <param name="value">The value to convert.</param>
            <returns>The converted value.</returns>
            <exception cref="T:System.NotSupportedException">When no compatible type converter is found for the operation.</exception>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Extensions\ObjectExtensionsExamples.cs" region="ConvertTo" lang="cs" title="The following example shows how to use the ConvertTo method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Extensions\ObjectExtensionsExamples.vb" region="ConvertTo" lang="vbnet" title="The following example shows how to use the ConvertTo method."/>
            </example>
        </member>
        <member name="M:NGenerics.Extensions.ObjectExtensions.Serialize``1(``0)">
            <summary>
            Serializes any Serializable Object to XMLString
            </summary>
            <typeparam name="T">The type of object to serialize.</typeparam>
            <param name="obj">The object to serialize.</param>
            <returns>A serialized representation of the object.</returns>
        </member>
        <member name="M:NGenerics.Extensions.ObjectExtensions.Deserialize``1(System.String)">
            <summary>
            Deserializes object from String
            </summary>
            <typeparam name="T">The type of object to deserialize.</typeparam>
            <param name="xml">The XML to deserialize the object from.</param>
            <returns>ready populated object</returns>
        </member>
        <member name="M:NGenerics.Extensions.ObjectExtensions.DeepCopy``1(``0)">
            <summary>
            Perfomrs a deep copy the specified serializable object.
            </summary>
            <typeparam name="T">The type of object to perform a deep copy on.</typeparam>
            <param name="obj">The object to perform a deep copy on.</param>
            <returns>A copy of the specified object.</returns>
            <remarks>This method relies on serialization for a generic deep copy routine - if performance is needed, rather implement <see cref="T:System.ICloneable"/>.</remarks>
        </member>
        <member name="M:NGenerics.Extensions.ObjectExtensions.ToList``1(``0)">
            <summary>
            Wraps an object in an <see cref="T:System.Collections.Generic.List`1"/>.
            </summary>
            <typeparam name="T">The type of object to wrap.</typeparam>
            <param name="obj">The object to wrap.</param>
            <returns>A new <see cref="T:System.Collections.Generic.List`1"/> containing the object.</returns>
        </member>
        <member name="T:NGenerics.Patterns.Conversion.ConverterExtensions">
            <summary>
            Extensions on the IConverter interface.
            </summary>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.ConvertAll``2(NGenerics.Patterns.Conversion.IConverter{``0,``1},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Converts all.
            </summary>
            <typeparam name="TInput">The type of the input.</typeparam>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="converter">The converter.</param>
            <param name="input">The input.</param>
            <returns>The converted representation of the input.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.ConvertAll``2(NGenerics.Patterns.Conversion.IBidirectionalConverter{``0,``1},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Converts all.
            </summary>
            <typeparam name="T1">The type of the 1.</typeparam>
            <typeparam name="T2">The type of the 2.</typeparam>
            <param name="converter">The converter.</param>
            <param name="input">The input.</param>
            <returns>The converted representation of the input.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.ConvertAll``2(System.Collections.Generic.IEnumerable{``0},NGenerics.Patterns.Conversion.IConverter{``0,``1})">
            <summary>
            Converts the specified value.
            </summary>
            <typeparam name="TInput">The type of the input.</typeparam>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="value">The value.</param>
            <param name="converter">The converter.</param>
            <returns>The converted representation of the input.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.Convert``2(System.Collections.Generic.IEnumerable{``0},NGenerics.Patterns.Conversion.IConverter{``0,``1})">
            <summary>
            Converts the specified items.
            </summary>
            <typeparam name="TInput">The type of the input.</typeparam>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="items">The items.</param>
            <param name="converter">The converter.</param>
            <returns>The converted representation of the input.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.Convert``2(System.Collections.Generic.IEnumerable{``0},NGenerics.Patterns.Conversion.IBidirectionalConverter{``0,``1})">
            <summary>
            Converts the specified items.
            </summary>
            <typeparam name="TInput">The type of the input.</typeparam>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="items">The items.</param>
            <param name="converter">The converter.</param>
            <returns>The converted representation of the input.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.Convert``2(``0,NGenerics.Patterns.Conversion.IConverter{``0,``1})">
            <summary>
            Converts the specified value.
            </summary>
            <typeparam name="TInput">The type of the input.</typeparam>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="value">The value.</param>
            <param name="converter">The converter.</param>
            <returns>The converted representation of the input.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.ConverterExtensions.ConvertInternal``2(System.Collections.Generic.IEnumerable{``0},System.Converter{``0,``1})">
            <summary>
            Converts the internal.
            </summary>
            <typeparam name="TInput">The type of the input.</typeparam>
            <typeparam name="TOutput">The type of the output.</typeparam>
            <param name="input">The input.</param>
            <param name="converter">The converter.</param>
            <returns></returns>
        </member>
        <member name="T:NGenerics.Patterns.Conversion.IBidirectionalConverter`2">
            <summary>
            A bidirectional converter.
            </summary>
            <typeparam name="T1">The type of the one item.</typeparam>
            <typeparam name="T2">The type of the other item.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.IBidirectionalConverter`2.Convert(`1)">
            <summary>
            Converts the specified input.
            </summary>
            <param name="input">The input.</param>
            <returns></returns>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.IBidirectionalConverter`2.Convert(`0)">
            <summary>
            Converts the specified input.
            </summary>
            <param name="input">The input.</param>
            <returns></returns>
        </member>
        <member name="T:NGenerics.Patterns.Conversion.IConverter`2">
            <summary>
            A simple interface for conversions between types.
            </summary>
            <typeparam name="TInput">The from type.</typeparam>
            <typeparam name="TOutput">The to type.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Conversion.IConverter`2.Convert(`0)">
            <summary>
            Converts the specified input.
            </summary>
            <param name="input">The input.</param>
            <returns></returns>
        </member>
        <member name="T:NGenerics.Patterns.Specification.AbstractSpecification`1">
            <summary>
            An abstract common base class for all specifications.
            </summary>
            <typeparam name="T">The type of item to apply the specification to.</typeparam>
        </member>
        <member name="T:NGenerics.Patterns.Specification.ISpecification`1">
            <summary>
            An implementation of the specification pattern.  See http://en.wikipedia.org/wiki/Specification_pattern for a detailed description.
            </summary>
            <typeparam name="T">The type of item the specification is evaluated on.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Specification.ISpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.ISpecification`1.And(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the AND operation on this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the AND operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.ISpecification`1.Or(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the OR operation this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the OR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.ISpecification`1.Xor(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the XOR operation on the current specification.
            </summary>
            <param name="right">The right hand side of the operation..</param>
            <returns>The result of the XOR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.ISpecification`1.Not">
            <summary>
            Performs the NOT operation on the current specification.
            </summary>
            <returns>The result of the NOT operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.NGenerics#Patterns#Specification#ISpecification{T}#And(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the AND operation on this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the AND operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.NGenerics#Patterns#Specification#ISpecification{T}#Or(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the OR operation this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the OR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.NGenerics#Patterns#Specification#ISpecification{T}#Xor(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the XOR operation on the current specification.
            </summary>
            <param name="right">The right hand side of the operation..</param>
            <returns>The result of the XOR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.NGenerics#Patterns#Specification#ISpecification{T}#Not">
            <summary>
            Performs the NOT operation on the current specification.
            </summary>
            <returns>The result of the NOT operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_BitwiseAnd(NGenerics.Patterns.Specification.AbstractSpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Implements the operator &amp;.
            </summary>
            <param name="left">The left hand side specification.</param>
            <param name="right">The right hand side specification.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_BitwiseAnd(NGenerics.Patterns.Specification.AbstractSpecification{`0},System.Predicate{`0})">
            <summary>
            Implements the operator &amp;.
            </summary>
            <param name="left">The left hand side specification.</param>
            <param name="right">The right hand side predicate.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_BitwiseOr(NGenerics.Patterns.Specification.AbstractSpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Implements the operator OR.
            </summary>
            <param name="left">The left hand side specification.</param>
            <param name="right">The right hand side specification.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_BitwiseOr(NGenerics.Patterns.Specification.AbstractSpecification{`0},System.Predicate{`0})">
            <summary>
            Implements the operator OR.
            </summary>
            <param name="left">The left hand side specification.</param>
            <param name="right">The right hand side predicate.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_LogicalNot(NGenerics.Patterns.Specification.AbstractSpecification{`0})">
            <summary>
            Implements the operator NOT.
            </summary>
            <param name="operand">The operand.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_ExclusiveOr(NGenerics.Patterns.Specification.AbstractSpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Implements the operator XOR.
            </summary>
            <param name="left">The left hand side specification.</param>
            <param name="right">The right hand side specification.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.op_ExclusiveOr(NGenerics.Patterns.Specification.AbstractSpecification{`0},System.Predicate{`0})">
            <summary>
            Implements the operator XOR.
            </summary>
            <param name="left">The left hand side specification.</param>
            <param name="right">The right hand side predicate.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.And(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the AND operation on this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the AND operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.Or(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the OR operation this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the OR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.Xor(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Performs the XOR operation on the current specification.
            </summary>
            <param name="right">The right hand side of the operation..</param>
            <returns>The result of the XOR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.Not">
            <summary>
            Performs the NOT operation on the current specification.
            </summary>
            <returns>The result of the NOT operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.And(System.Predicate{`0})">
            <summary>
            Performs the AND operation on this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the AND operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.Or(System.Predicate{`0})">
            <summary>
            Performs the OR operation this specification and the other.
            </summary>
            <param name="right">The right hand side of the operation.</param>
            <returns>The result of the OR operation.</returns>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AbstractSpecification`1.Xor(System.Predicate{`0})">
            <summary>
            Performs the XOR operation on the current specification.
            </summary>
            <param name="right">The right hand side of the operation..</param>
            <returns>The result of the XOR operation.</returns>
        </member>
        <member name="T:NGenerics.Patterns.Specification.AndSpecification`1">
            <summary>
            Performs an AND operation between two specifications.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:NGenerics.Patterns.Specification.CompositeSpecification`1">
            <summary>
            Provides a composite specification container.
            </summary>
            <typeparam name="T">The type of item to apply this specification to.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Specification.CompositeSpecification`1.#ctor(NGenerics.Patterns.Specification.ISpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Patterns.Specification.CompositeSpecification`1"/> class.
            </summary>
            <param name="left">The left specification.</param>
            <param name="right">The right specification.</param>
        </member>
        <member name="P:NGenerics.Patterns.Specification.CompositeSpecification`1.Left">
            <summary>
            Gets or sets the left specification.
            </summary>
            <value>The left specification.</value>
        </member>
        <member name="P:NGenerics.Patterns.Specification.CompositeSpecification`1.Right">
            <summary>
            Gets or sets the right specification.
            </summary>
            <value>The right specification</value>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AndSpecification`1.#ctor(NGenerics.Patterns.Specification.ISpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Patterns.Specification.AndSpecification`1"/> class.
            </summary>
            <param name="left">The left specification.</param>
            <param name="right">The right specification.</param>
        </member>
        <member name="M:NGenerics.Patterns.Specification.AndSpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Patterns\Specification\AndSpecificationExamples.cs" region="IsSatisfiedBy" lang="cs" title="The following example shows how to use the IsSatisfiedBy method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Patterns\Specification\AndSpecificationExamples.vb" region="IsSatisfiedBy" lang="vbnet" title="The following example shows how to use the IsSatisfiedBy method."/>
            </example>
        </member>
        <member name="T:NGenerics.Patterns.Specification.NotSpecification`1">
            <summary>
            Performs an OR operation between two specifications.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Specification.NotSpecification`1.#ctor(NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Patterns.Specification.NotSpecification`1"/> class.
            </summary>
            <param name="specification">The specification.</param>
        </member>
        <member name="M:NGenerics.Patterns.Specification.NotSpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:NGenerics.Patterns.Specification.NotSpecification`1.Specification">
            <summary>
            Gets the specification.
            </summary>
            <value>The specification.</value>
        </member>
        <member name="T:NGenerics.Patterns.Specification.OrSpecification`1">
            <summary>
            Performs an OR operation between two specifications.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Specification.OrSpecification`1.#ctor(NGenerics.Patterns.Specification.ISpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Patterns.Specification.OrSpecification`1"/> class.
            </summary>
            <param name="left">The left specification.</param>
            <param name="right">The right specification.</param>
        </member>
        <member name="M:NGenerics.Patterns.Specification.OrSpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:NGenerics.Patterns.Specification.PredicateSpecification`1">
            <summary>
            A simple specification that operates on a predicate.
            </summary>
            <typeparam name="T">The type of predicate to accept.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Specification.PredicateSpecification`1.#ctor(System.Predicate{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Patterns.Specification.PredicateSpecification`1"/> class.
            </summary>
            <param name="predicate">The predicate to use as a specification.</param>
        </member>
        <member name="M:NGenerics.Patterns.Specification.PredicateSpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:NGenerics.Patterns.Specification.PredicateSpecification`1.Predicate">
            <summary>
            Gets the predicate.
            </summary>
            <value>The predicate.</value>
        </member>
        <member name="T:NGenerics.Patterns.Specification.XorSpecification`1">
            <summary>
            Performs an AND operation between two specifications.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Specification.XorSpecification`1.#ctor(NGenerics.Patterns.Specification.ISpecification{`0},NGenerics.Patterns.Specification.ISpecification{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Patterns.Specification.XorSpecification`1"/> class.
            </summary>
            <param name="left">The left specification.</param>
            <param name="right">The right specification.</param>
        </member>
        <member name="M:NGenerics.Patterns.Specification.XorSpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Determines whether the specification is satisfied by the specified item.
            </summary>
            <param name="item">The item.</param>
            <returns>
            	<c>true</c> if the specification is satisfied by the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:NGenerics.Sorting.ListExtensions">
            <summary>
            Provides extensions to lists.
            </summary>
        </member>
        <member name="M:NGenerics.Sorting.ListExtensions.Sort``1(System.Collections.Generic.IList{``0},NGenerics.Sorting.ISorter{``0})">
            <summary>
            Sorts the specified list.
            </summary>
            <typeparam name="TElement">The type of the element.</typeparam>
            <param name="list">The list.</param>
            <param name="sorter">The sorter.</param>
        </member>
        <member name="M:NGenerics.Sorting.ListExtensions.Sort``1(System.Collections.Generic.IList{``0},NGenerics.Sorting.ISorter{``0},NGenerics.Sorting.SortOrder)">
            <summary>
            Sorts the specified list.
            </summary>
            <typeparam name="TElement">The type of the element.</typeparam>
            <param name="list">The list.</param>
            <param name="sorter">The sorter.</param>
            <param name="sortOrder">The sort order.</param>
        </member>
        <member name="M:NGenerics.Sorting.ListExtensions.Sort``1(System.Collections.Generic.IList{``0},NGenerics.Sorting.IComparisonSorter{``0},System.Comparison{``0})">
            <summary>
            Sorts using the specified sorter.
            </summary>
            <typeparam name="TElement">The type of the element.</typeparam>
            <param name="list">The list to sort.</param>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="comparison">The comparison.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Sorting.ListExtensions.Sort``1(System.Collections.Generic.IList{``0},NGenerics.Sorting.IComparisonSorter{``0},System.Collections.Generic.IComparer{``0})">
            <summary>
            Sorts using the specified sorter.
            </summary>
            <typeparam name="TElement">The type of the element.</typeparam>
            <param name="list">The list.</param>
            <param name="sorter">The sorter to use in the sorting process.</param>
            <param name="comparer">The comparer.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="sorter"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="T:NGenerics.Sorting.BubbleSorter`1">
            <summary>
            A Bubble Sorter.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\BubbleSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\BubbleSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="T:NGenerics.Sorting.ComparisonSorter`1">
            <summary>
            The base class used for all comparison based Sorters in the library.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\SorterExamples.cs" region="SortList" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\SorterExamples.vb" region="SortList" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="T:NGenerics.Sorting.Sorter`1">
            <summary>
            The base class for all sorters.
            </summary>
            <typeparam name="T">The type of element to be sorted.</typeparam>
        </member>
        <member name="T:NGenerics.Sorting.ISorter`1">
            <summary>
            An interface for a Sorter.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
        </member>
        <member name="M:NGenerics.Sorting.ISorter`1.Sort(System.Collections.Generic.IList{`0})">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list to sort.</param>
        </member>
        <member name="M:NGenerics.Sorting.ISorter`1.Sort(System.Collections.Generic.IList{`0},NGenerics.Sorting.SortOrder)">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list to sort.</param>
            <param name="order">The order in which to sort the list.</param>
        </member>
        <member name="M:NGenerics.Sorting.Sorter`1.Sort(System.Collections.Generic.IList{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Sorting.Sorter`1.Sort(System.Collections.Generic.IList{`0},NGenerics.Sorting.SortOrder)">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.IComparisonSorter`1">
            <summary>
            An interface for sorters that make the use of Comparers or Comparisons.
            </summary>
            <typeparam name="T">The element type the sorter w</typeparam>
        </member>
        <member name="M:NGenerics.Sorting.IComparisonSorter`1.Sort(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list to sort.</param>
            <param name="comparer">The comparer to use.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="list"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference.</exception>
        </member>
        <member name="M:NGenerics.Sorting.IComparisonSorter`1.Sort(System.Collections.Generic.IList{`0},System.Comparison{`0})">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list to sort.</param>
            <param name="comparison">The comparison to use.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="list"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is a null reference.</exception>
        </member>
        <member name="M:NGenerics.Sorting.ComparisonSorter`1.Sort(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\SorterExamples.cs" region="SortListComparer" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\SorterExamples.vb" region="SortListComparer" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.ComparisonSorter`1.Sort(System.Collections.Generic.IList{`0},System.Comparison{`0})">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\SorterExamples.cs" region="SortListDelegate" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\SorterExamples.vb" region="SortListDelegate" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.ComparisonSorter`1.Sort(System.Collections.Generic.IList{`0},NGenerics.Sorting.SortOrder)">
            <inheritdoc />
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\SorterExamples.cs" region="SortListOrder" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\SorterExamples.vb" region="SortListOrder" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.ComparisonSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list.</param>
            <param name="comparer">The comparer to use in comparing items.</param>
        </member>
        <member name="M:NGenerics.Sorting.ComparisonSorter`1.Swap(System.Collections.Generic.IList{`0},System.Int32,System.Int32)">
            <summary>
            Swaps items in the specified list.
            </summary>
            <param name="list">The list.</param>
            <param name="pos1">The position of the first item.</param>
            <param name="pos2">The position of the last item.</param>
        </member>
        <member name="M:NGenerics.Sorting.BubbleSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.BucketSorter">
            <summary>
            A sorter that implements the Bucket Sort algorithm.
            </summary>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\BucketSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\BucketSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\BucketSorterExamples.cs" region="SortWithSortOrder" lang="cs" title="The following example shows how to use the Sort method with a SortOrder."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\BucketSorterExamples.vb" region="SortWithSortOrder" lang="vbnet" title="The following example shows how to use the Sort method with a SortOrder."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.BucketSorter.#ctor(System.Int32)">
            <param name="maximumUniverse">The maximum universe.</param>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\BubbleSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\BubbleSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.BucketSorter.Sort(System.Collections.Generic.IList{System.Int32},NGenerics.Sorting.SortOrder)">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.CocktailSorter`1">
            <summary>
            A Bi-Directional Bubble sorter.  
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\CocktailSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\CocktailSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.CocktailSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.CombSorter`1">
            <summary>
            A comb sorter.  
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\CombSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\CombSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.CombSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.GnomeSorter`1">
            <summary>
            A sorter implementing the Gnome sort algorithm.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\GnomeSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\GnomeSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.GnomeSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.HeapSorter`1">
            <summary>
            An sorter for the Heap Sort algorithm.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\HeapSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\HeapSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.HeapSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.InsertionSorter`1">
            <summary>
            A sorter that implements the Insertion sort algorithm.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\InsertionSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\InsertionSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.InsertionSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list.</param>
            <param name="comparer">The comparer to use in comparing items.</param>
        </member>
        <member name="M:NGenerics.Sorting.InsertionSorter`1.Insert(System.Collections.Generic.IList{`0},System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Inserts the specified item into the list in the correct position.
            </summary>
            <param name="list">The list.</param>
            <param name="sortedSequenceLength">Length of the sorted sequence.</param>
            <param name="val">The item to insert.</param>
            <param name="comparer">The comparer to use.</param>
        </member>
        <member name="M:NGenerics.Sorting.InsertionSorter`1.Sort(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0},System.Int32,System.Int32)">
            <summary>
            Sorts the specified list.
            </summary>
            <param name="list">The list.</param>
            <param name="comparer">The comparer.</param>
            <param name="start">The start.</param>
            <param name="end">The end.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="list"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="T:NGenerics.Sorting.MergeSorter`1">
            <summary>
            A merge sorter.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\MergeSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\MergeSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.MergeSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Sorting.MergeSorter`1.MergeSort(System.Int32,System.Int32,System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <summary>
            Performs a merge sort.
            </summary>
            <param name="leftBoundary">The left boundary.</param>
            <param name="rightBoundary">The right boundary.</param>
            <param name="list">The list.</param>
            <param name="comparer">The comparer.</param>
        </member>
        <member name="T:NGenerics.Sorting.OddEvenTransportSorter`1">
            <summary>
            An OddEvenTransport sorter.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\OddEvenTransportSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\OddEvenTransportSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.OddEvenTransportSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.QuickSorter`1">
            <summary>
            A Quick Sort sorter.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\QuickSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\QuickSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.QuickSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Sorting.QuickSorter`1.QuickSort(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0},System.Int32,System.Int32)">
            <summary>
            Quicks the sort.
            </summary>
            <param name="list">The list.</param>
            <param name="comparer">The comparer.</param>
            <param name="leftBoundary">The left boundary.</param>
            <param name="rightBoundary">The right boundary.</param>
        </member>
        <member name="M:NGenerics.Sorting.QuickSorter`1.GetPivot(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0},System.Int32,System.Int32)">
            <summary>
            Gets the pivot.
            </summary>
            <param name="list">The list.</param>
            <param name="comparer">The comparer.</param>
            <param name="leftBoundary">The left boundary.</param>
            <param name="rightBoundary">The right boundary.</param>
        </member>
        <member name="T:NGenerics.Sorting.RadixSorter">
            <summary>
            A sorter implementing Radix Sort.
            Adapted from Wikipedia : see http://en.wikipedia.org/wiki/Radix_sort.
            </summary>    
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\RadixSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\RadixSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.RadixSorter.Sort(System.Collections.Generic.IList{System.Int32},NGenerics.Sorting.SortOrder)">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.SelectionSorter`1">
            <summary>
            A sorter implementing the Selection Sort algorithm.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\SelectionSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\SelectionSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.SelectionSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.ShakerSorter`1">
            <summary>
            A Shaker Sorter.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\ShakerSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\ShakerSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.ShakerSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.ShellSorter`1">
            <summary>
            A sorter that implements the Shell Sort algorithm.
            </summary>
            <typeparam name="T">The type of the elements to be sorted.</typeparam>
            <example>
            <code source="..\..\Source\Examples\ExampleLibraryCSharp\Sorting\ShellSorterExamples.cs" region="Sort" lang="cs" title="The following example shows how to use the Sort method."/>
            <code source="..\..\Source\Examples\ExampleLibraryVB\Sorting\ShellSorterExamples.vb" region="Sort" lang="vbnet" title="The following example shows how to use the Sort method."/>
            </example>
        </member>
        <member name="M:NGenerics.Sorting.ShellSorter`1.SortItems(System.Collections.Generic.IList{`0},System.Collections.Generic.IComparer{`0})">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Sorting.SortOrder">
            <summary>
            Specifies the sorting order.
            </summary>
        </member>
        <member name="F:NGenerics.Sorting.SortOrder.Ascending">
            <summary>
            Sort in ascending order.
            </summary>
        </member>
        <member name="F:NGenerics.Sorting.SortOrder.Descending">
            <summary>
            Sort in descending order.
            </summary>
        </member>
        <member name="T:NGenerics.Threading.AsyncCompletedEventArgs`1">
            <summary>
            Event for when async operations complete.
            </summary>
            <typeparam name="TState">The type of the state.</typeparam>
        </member>
        <member name="M:NGenerics.Threading.AsyncCompletedEventArgs`1.#ctor(System.Exception,System.Boolean,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Threading.AsyncCompletedEventArgs`1"/> class.
            </summary>
            <param name="error">The error.</param>
            <param name="cancelled">if set to <c>true</c> [cancelled].</param>
            <param name="userState">State of the user.</param>
        </member>
        <member name="M:NGenerics.Threading.AsyncCompletedEventArgs`1.RaiseExceptionIfNecessary">
            <summary>
            Raises the exception if necessary.
            </summary>
        </member>
        <member name="P:NGenerics.Threading.AsyncCompletedEventArgs`1.Cancelled">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:NGenerics.Threading.AsyncCompletedEventArgs`1"/> is cancelled.
            </summary>
            <value><c>true</c> if cancelled; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:NGenerics.Threading.AsyncCompletedEventArgs`1.Error">
            <summary>
            Gets or sets the error.
            </summary>
            <value>The error.</value>
        </member>
        <member name="P:NGenerics.Threading.AsyncCompletedEventArgs`1.UserState">
            <summary>
            Gets or sets the state of the user.
            </summary>
            <value>The state of the user.</value>
        </member>
        <member name="T:NGenerics.Threading.BackgroundWorker`3">
            <summary>
            Executes an operation on a separate thread.
            </summary>
            <remarks>
            This is a temporary solution until one is included in the .net framework. See http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=93696.
            </remarks>
            <typeparam name="TInput">The type of the argument that will be passed to the background operation.</typeparam>
            <typeparam name="TOutput">The type of the return value from the background operation.</typeparam>
            <typeparam name="TProgress">The type of state that will be passed back to notify the calling thread of a change in progress.</typeparam>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> class.
            </summary>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.CancelAsync">
            <summary>
            Requests cancellation of a pending background operation.
            </summary>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.Threading.BackgroundWorker`3.WorkerSupportsCancellation"/> is <see langword="false"/>.</exception>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.ReportProgress(System.Int32)">
            <summary>
            Calls the <see cref="P:NGenerics.Threading.BackgroundWorker`3.ProgressChanged"/> delegate.
            </summary>
            <param name="percentProgress">The percentage, from 0 to 100, of the background operation that is complete.</param>
            <exception cref="T:System.InvalidOperationException">The <see cref="P:NGenerics.Threading.BackgroundWorker`3.WorkerReportsProgress"/> property is set to false.</exception>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.ReportProgress(System.Int32,`2)">
            <summary>
            Calls the <see cref="P:NGenerics.Threading.BackgroundWorker`3.ProgressChanged"/> delegate.
            </summary>
            <param name="percentProgress">The percentage, from 0 to 100, of the background operation that is complete.</param>
            <param name="userState">The state to pass to <see cref="P:NGenerics.Threading.BackgroundWorker`3.ProgressChanged"/>.</param>
            <exception cref="T:System.InvalidOperationException">The <see cref="P:NGenerics.Threading.BackgroundWorker`3.WorkerReportsProgress"/> property is set to false.</exception>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.SleepWhileBusy">
            <summary>
            Blocks the calling <see cref="T:System.Threading.Thread"/> until <see cref="P:NGenerics.Threading.BackgroundWorker`3.IsBusy"/> is false.
            </summary>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.ExecuteOnCallingThread``1(System.Action{``0},``0)">
            <summary>
            Executes an <see cref="T:System.Action`1"/> on the calling thread.
            </summary>
            <typeparam name="T">The type of the argument.</typeparam>
            <param name="action">The <see cref="T:System.Action`1"/> to execute.</param>
            <param name="arg">Thee argument to pass to <paramref name="action"/></param>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.RunWorkerAsync">
            <summary>
            Starts execution of a background operation. 
            </summary>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.Threading.BackgroundWorker`3.IsBusy"/> is <see langword="true"/>.</exception>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.RunWorkerAsync(`0)">
            <summary>
            Starts execution of a background operation. 
            </summary>
            <param name="argument">The argument to pass to <see cref="P:NGenerics.Threading.BackgroundWorker`3.DoWork"/>.</param>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.Threading.BackgroundWorker`3.IsBusy"/> is <see langword="true"/>.</exception>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.OnDoWork(NGenerics.Threading.DoWorkEventArgs{`0,`1})">
            <summary>
            Calls the <see cref="P:NGenerics.Threading.BackgroundWorker`3.DoWork"/> delegate. 
            </summary>
            <param name="eventArgs">An EventArgs that contains the event data.</param>
            <exception cref="T:System.InvalidOperationException"><see cref="P:NGenerics.Threading.BackgroundWorker`3.DoWork"/> is null.</exception>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.OnProgressChanged(NGenerics.Threading.ProgressChangedEventArgs{`2})">
            <summary>
            Calls the <see cref="P:NGenerics.Threading.BackgroundWorker`3.ProgressChanged"/> delegate. 
            </summary>
            <param name="eventArgs">An EventArgs that contains the event data.</param>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.OnRunWorkerCompleted(NGenerics.Threading.RunWorkerCompletedEventArgs{`1})">
            <summary>
            Calls the <see cref="P:NGenerics.Threading.BackgroundWorker`3.ProgressChanged"/> delegate. 
            </summary>
            <param name="eventArgs">An EventArgs that contains the event data.</param>
        </member>
        <member name="M:NGenerics.Threading.BackgroundWorker`3.AsyncOperationCompleted(System.Object)">
            <summary>
            Event handler for when the operation complets.
            </summary>
            <param name="arg">The argument.</param>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.AsyncOperation">
            <summary>
            Gets or sets the async operation.
            </summary>
            <value>The async operation.</value>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.CancellationPending">
            <summary>
            Gets a value indicating whether the application has requested cancellation of a background operation.
            </summary>
            <returns><see langword="true"/> if the application has requested cancellation of a background operation; otherwise, <see langword="false"/>. The default is <see langword="false"/>.</returns>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.IsBusy">
            <summary>
            Gets a value indicating whether the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> is running an asynchronous operation.
            </summary>
            <returns><see langword="true"/>, if the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> is running an asynchronous operation; otherwise, <see langword="false"/>.</returns>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.WorkerReportsProgress">
            <summary>
            Gets or sets a value indicating whether the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> can report progress updates.
            </summary>
            <return><see langword="true"/> if the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> supports progress updates; otherwise <see langword="false"/>. The default is <see langword="false"/>.</return>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.ThrowExceptionOnCompleted">
            <summary>
            Gets or sets whether to throw the <see cref="T:System.Exception"/> on <see cref="M:NGenerics.Threading.BackgroundWorker`3.OnRunWorkerCompleted(NGenerics.Threading.RunWorkerCompletedEventArgs{`1})"/> if one exists in <see cref="P:NGenerics.Threading.AsyncCompletedEventArgs`1.Error"/>.
            </summary>
            <return><see langword="true"/> if the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> throws the <see cref="T:System.Exception"/> on <see cref="M:NGenerics.Threading.BackgroundWorker`3.OnRunWorkerCompleted(NGenerics.Threading.RunWorkerCompletedEventArgs{`1})"/> if one exists in <see cref="P:NGenerics.Threading.AsyncCompletedEventArgs`1.Error"/>; otherwise <see langword="false"/>. The default is <see langword="true"/>.</return>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.WorkerSupportsCancellation">
            <summary>
            Gets or sets a value indicating whether the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> supports asynchronous cancellation.
            </summary>
            <return>
            <see langword="true"/> if the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> supports cancellation; otherwise <see langword="false"/>. The default is <see langword="false"/>.
            </return>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.DoWork">
            <summary>
            The <see cref="T:System.Func`2"/> to execute on the background <see cref="T:System.Threading.Thread"/>.
            </summary>
            <remarks>
            Executed on a background <see cref="T:System.Threading.Thread"/>. 
            The first parameter will be the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> that is executing the delegate.
            </remarks>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.ProgressChanged">
            <summary>
            Notifies the calling <see cref="T:System.Threading.Thread"/> of a progress change on the background <see cref="T:System.Threading.Thread"/>.
            </summary>
            <remarks>
            Called on the same thread that <see cref="M:NGenerics.Threading.BackgroundWorker`3.RunWorkerAsync"/> was called on.
            The first parameter will be the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> that is executing the delegate.
            </remarks>
        </member>
        <member name="P:NGenerics.Threading.BackgroundWorker`3.RunWorkerCompleted">
            <summary>
            Notifies the calling <see cref="T:System.Threading.Thread"/> that the background operation has completed, has been canceled, or has raised an exception.
            </summary>
            <remarks>
            Called on the same thread that <see cref="M:NGenerics.Threading.BackgroundWorker`3.RunWorkerAsync"/> was called on.
            The first parameter will be the <see cref="T:NGenerics.Threading.BackgroundWorker`3"/> that is executing the delegate.
            </remarks>
        </member>
        <member name="T:NGenerics.Threading.DoWorkEventArgs`2">
            <summary>
            The information for an event when work begins.
            </summary>
            <typeparam name="TArgument">The type of the argument.</typeparam>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:NGenerics.Threading.DoWorkEventArgs`2.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Threading.DoWorkEventArgs`2"/> class.
            </summary>
            <param name="argument">The argument.</param>
        </member>
        <member name="P:NGenerics.Threading.DoWorkEventArgs`2.Argument">
            <summary>
            Gets or sets the argument.
            </summary>
            <value>The argument.</value>
        </member>
        <member name="P:NGenerics.Threading.DoWorkEventArgs`2.Result">
            <summary>
            Gets or sets the result.
            </summary>
            <value>The result.</value>
        </member>
        <member name="T:NGenerics.Threading.ProgressChangedEventArgs`1">
            <summary>
            An event argument for when the progress of the task changed.
            </summary>
            <typeparam name="TState">The type of the state.</typeparam>
        </member>
        <member name="M:NGenerics.Threading.ProgressChangedEventArgs`1.#ctor(System.Int32,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Threading.ProgressChangedEventArgs`1"/> class.
            </summary>
            <param name="progressPercentage">The progress percentage.</param>
            <param name="userState">State of the user.</param>
        </member>
        <member name="P:NGenerics.Threading.ProgressChangedEventArgs`1.ProgressPercentage">
            <summary>
            Gets or sets the progress percentage.
            </summary>
            <value>The progress percentage.</value>
        </member>
        <member name="P:NGenerics.Threading.ProgressChangedEventArgs`1.UserState">
            <summary>
            Gets or sets the state of the user.
            </summary>
            <value>The state of the user.</value>
        </member>
        <member name="T:NGenerics.Threading.RunWorkerCompletedEventArgs`1">
            <summary>
            An event argument fo when the worker has completed running.
            </summary>
            <typeparam name="TState">The type of the state.</typeparam>
        </member>
        <member name="M:NGenerics.Threading.RunWorkerCompletedEventArgs`1.#ctor(`0,System.Exception,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:NGenerics.Threading.RunWorkerCompletedEventArgs`1"/> class.
            </summary>
            <param name="result">The result.</param>
            <param name="error">The error.</param>
            <param name="cancelled">if set to <c>true</c> [cancelled].</param>
        </member>
        <member name="P:NGenerics.Threading.RunWorkerCompletedEventArgs`1.UserState">
            <summary>
            Gets or sets the state of the user.
            </summary>
            <value>The state of the user.</value>
        </member>
        <member name="T:NGenerics.Util.Guard">
            <summary>
            Performs common argument validation.
            </summary>
        </member>
        <member name="M:NGenerics.Util.Guard.ArgumentNotNullOrEmptyString(System.String,System.String)">
            <summary>
            Checks a string argument to ensure it isn't null or empty.
            </summary>
            <param name="argumentValue">The argument value to check.</param>
            <param name="argumentName">The name of the argument.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="argumentValue"/> is a null reference.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="argumentValue"/> is <see cref="F:System.String.Empty"/>.</exception>
        </member>
        <member name="M:NGenerics.Util.Guard.ArgumentNotNull(System.Object,System.String)">
            <summary>
            Checks an argument to ensure it isn't null.
            </summary>
            <param name="argumentValue">The argument value to check.</param>
            <param name="argumentName">The name of the argument.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="argumentValue"/> is a null reference.</exception>
        </member>
        <member name="T:NGenerics.Util.Swapper">
            <summary>
            Utility class for swapping values
            </summary>
        </member>
        <member name="M:NGenerics.Util.Swapper.Swap``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32)">
            <summary>
            Swaps items in the specified positions in the given list.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="list">The list.</param>
            <param name="pos1">The position of the first item.</param>
            <param name="pos2">The position of the second item.</param>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1">
            <summary>
            A visitor that searches objects for an equality, using the <see cref="T:System.IComparable"/> interface.
            </summary>	
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.IVisitor`1">
            <summary>
            Provides an interface for visitors.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.IVisitor`1.Visit(`0)">
            <summary>
            Visits the specified object.
            </summary>
            <param name="obj">The object to visit.</param>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.IVisitor`1.HasCompleted">
            <summary>
            Gets a value indicating whether this instance is done performing it's work..
            </summary>
            <value><c>true</c> if this instance is done; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1.#ctor(`0)">
            <param name="searchValue">The search value.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1.Visit(`0)">
            <summary>
            Visits the specified object.
            </summary>
            <param name="obj">The object to visit.</param>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1.HasCompleted">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1.Found">
            <summary>
            Gets a value indicating whether this <see cref="T:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1"/> is found.
            </summary>
            <value><c>true</c> if found; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.ComparableFindingVisitor`1.SearchValue">
            <summary>
            Gets the search value.
            </summary>
            <value>The search value.</value>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.ActionVisitor`1">
            <summary>
            A general visitor that executes the specified <see cref="T:System.Action`1"/> delegate.
            </summary>
            <typeparam name="T">The type of item to visit.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.ActionVisitor`1.#ctor(System.Action{`0})">
            <param name="action">The <see cref="T:System.Action`1"/> delegate.  The return value is used to indicate whether the visitor has completed.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.ActionVisitor`1.Visit(`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.ActionVisitor`1.HasCompleted">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Patterns.Visitor.CountingVisitor`1">
            <summary>
            A Visitor that counts items in a visitable collection.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.CountingVisitor`1.Visit(`0)">
            <inheritdoc />
        </member>
        <member name="M:NGenerics.Patterns.Visitor.CountingVisitor`1.ResetCount">
            <summary>
            Resets the count to zero.
            </summary>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.CountingVisitor`1.HasCompleted">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.CountingVisitor`1.Count">
            <summary>
            Gets the count.
            </summary>
            <value>The current count value.</value>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.DummyVisitor`1">
            <summary>
            A dummy visitor - that does absolutely nothing with visits.
            Believe it or not, it's actually useful in some situations.
            </summary>
            <typeparam name="T">The type of item to visit.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.DummyVisitor`1.Visit(`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.DummyVisitor`1.HasCompleted">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Patterns.Visitor.GeneralVisitor`1">
            <summary>
            A general visitor that executes the specified <see cref="T:System.Predicate`1"/> delegate.
            </summary>
            <typeparam name="T">The type of item to visit.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.GeneralVisitor`1.#ctor(System.Predicate{`0})">
            <param name="hasCompletedPredicate">The <see cref="T:System.Predicate`1"/> delegate.  The return value is used to indicate whether the visitor has completed.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.GeneralVisitor`1.Visit(`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.GeneralVisitor`1.HasCompleted">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Patterns.Visitor.InOrderVisitor`1">
            <summary>
            An in order implementation of the <see cref="T:NGenerics.Patterns.Visitor.OrderedVisitor`1"/> class.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.OrderedVisitor`1">
            <summary>
            A visitor that visits objects in order (PreOrder, PostOrder, or InOrder).
            Used primarily as a base class for Visitors specializing in a specific order type.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.OrderedVisitor`1.#ctor(NGenerics.Patterns.Visitor.IVisitor{`0})">
            <param name="visitorToUse">The visitor to use when visiting the object.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="visitorToUse"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.OrderedVisitor`1.VisitPreOrder(`0)">
            <summary>
            Visits the object in pre order.
            </summary>
            <param name="obj">The obj.</param>         
        </member>
        <member name="M:NGenerics.Patterns.Visitor.OrderedVisitor`1.VisitPostOrder(`0)">
            <summary>
            Visits the object in post order.
            </summary>
            <param name="obj">The obj.</param>        
        </member>
        <member name="M:NGenerics.Patterns.Visitor.OrderedVisitor`1.VisitInOrder(`0)">
            <summary>
            Visits the object in order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.OrderedVisitor`1.Visit(`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.OrderedVisitor`1.HasCompleted">
            <summary>
            Determines whether this visitor is done.
            </summary>
            <value></value>
            <returns>
            	<c>true</c> if this visitor is done; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.OrderedVisitor`1.VisitorToUse">
            <summary>
            Gets the visitor to use.
            </summary>
            <value>The visitor to use.</value>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.InOrderVisitor`1.#ctor(NGenerics.Patterns.Visitor.IVisitor{`0})">
            <param name="visitor">The visitor.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.InOrderVisitor`1.VisitPostOrder(`0)">
            <summary>
            Visits the object in post order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.InOrderVisitor`1.VisitPreOrder(`0)">
            <summary>
            Visits the object in pre order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.KeyTrackingVisitor`2">
            <summary>
            A visitor that tracks (stores) keys from KeyValuePAirs in the order they were visited.
            </summary>
            <typeparam name="TKey">The type of the keys for the items to be visited.</typeparam>
            <typeparam name="TValue">The type of the values for the items to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.KeyTrackingVisitor`2.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.KeyTrackingVisitor`2.Visit(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.KeyTrackingVisitor`2.TrackingList">
            <summary>
            Gets the tracking list.
            </summary>
            <value>The tracking list.</value>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.KeyTrackingVisitor`2.HasCompleted">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Patterns.Visitor.PostOrderVisitor`1">
            <summary>
            An Post order implementation of the <see cref="T:NGenerics.Patterns.Visitor.OrderedVisitor`1"/> class.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.PostOrderVisitor`1.#ctor(NGenerics.Patterns.Visitor.IVisitor{`0})">
            <param name="visitor">The visitor to use when visiting the object.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.PostOrderVisitor`1.VisitInOrder(`0)">
            <summary>
            Visits the object in order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.PostOrderVisitor`1.VisitPreOrder(`0)">
            <summary>
            Visits the object in pre order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.PreOrderVisitor`1">
            <summary>
            A visitor that visits objects only in pre order.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.PreOrderVisitor`1.#ctor(NGenerics.Patterns.Visitor.IVisitor{`0})">
            <param name="visitor">The visitor to use when visiting the object.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.PreOrderVisitor`1.VisitInOrder(`0)">
            <summary>
            Visits the object in order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.PreOrderVisitor`1.VisitPostOrder(`0)">
            <summary>
            Visits the object in post order.
            </summary>
            <param name="obj">The obj.</param>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.SumVisitor">
            <summary>
            A visitor that sums integers in any collection of type int.
            </summary>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.SumVisitor.Visit(System.Int32)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.SumVisitor.HasCompleted">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.SumVisitor.Sum">
            <summary>
            Gets the sum accumulated by this <see cref="T:NGenerics.Patterns.Visitor.SumVisitor"/>.
            </summary>
            <value>The sum.</value>
        </member>
        <member name="T:NGenerics.Patterns.Visitor.TrackingVisitor`1">
            <summary>
            A visitor that tracks (stores) objects in the order they were visited.
            Handy for demonstrating and testing different ordered visits implementations on
            data structures.
            </summary>
            <typeparam name="T">The type of objects to be visited.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.TrackingVisitor`1.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.TrackingVisitor`1.Visit(`0)">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.TrackingVisitor`1.HasCompleted">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.TrackingVisitor`1.TrackingList">
            <summary>
            Gets the tracking list.
            </summary>
            <value>The tracking list.</value>        
        </member>
        <member name="T:NGenerics.Patterns.Visitor.ValueTrackingVisitor`2">
            <summary>
            A visitor that tracks (stores) keys from KeyValuePairs in the order they were visited.
            </summary>
            <typeparam name="TKey">The type of key of the KeyValuePair.</typeparam>
            <typeparam name="TValue">The type of value of the KeyValuePair.</typeparam>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.ValueTrackingVisitor`2.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.ValueTrackingVisitor`2.Visit(System.Collections.Generic.KeyValuePair{`0,`1})">
            <inheritdoc />
        </member>
        <member name="P:NGenerics.Patterns.Visitor.ValueTrackingVisitor`2.TrackingList">
            <summary>
            Gets the tracking list.
            </summary>
            <value>The tracking list.</value>
        </member>
        <member name="P:NGenerics.Patterns.Visitor.ValueTrackingVisitor`2.HasCompleted">
            <inheritdoc />
        </member>
        <member name="T:NGenerics.Patterns.Visitor.VisitorExtensions">
            <summary>
            Visitor related extensions.
            </summary>
        </member>
        <member name="M:NGenerics.Patterns.Visitor.VisitorExtensions.AcceptVisitor``1(System.Collections.Generic.IEnumerable{``0},NGenerics.Patterns.Visitor.IVisitor{``0})">
            <summary>
            Accepts the visitor into the collection, visiting each item.
            </summary>
            <typeparam name="T">The type of item to visit.</typeparam>
            <param name="enumerable">The enumerable.</param>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="visitor"/> is a null reference (<c>Nothing</c> in Visual Basic).</exception>
        </member>
    </members>
</doc>
